Excel VBAの学習を進める中で、ハードルとなる学習項目がいくつかあります。
プログラミングがまったくはじめてという方の場合は、
- (配列やオブジェクト変数ではない、普通の)変数
- ループ処理
あたりが、まず、乗り越えるべきハードルです。
その後の大きなハードルは、なんといってもオブジェクトを取得するコード(オブジェクト式)です。
そのようなオブジェクト式について、まだ理解できてらっしゃらない、
「エクセル データ型 characters」
という検索キーワードに気づきました。
Excel VBAには、Charactersという名前のプロパティ(及びメソッド)が複数存在します。
上図は完全一致で、「characters」をオブジェクトブラウザーで検索した結果です。
このCharactersプロパティ(メソッド)の戻りがどのような型なのか、あるいは変数に代入する場合にデータ型をどうすればいいのかを調べていらしたのでしょうか。
Charactersプロパティの戻りはCharactersオブジェクト
結論からいえば、Excel VBAのCharactersプロパティ(Charactersメソッド)の戻りは、基本的にはCharactersオブジェクトです。
Charactersプロパティ・メソッドの戻りを代入する変数は「As Characters」と宣言すればOKです。
ただし、TextRange2オブジェクトのCharactersプロパティだけはTextRange2オブジェクトを返します。
Charactersオブジェクトを確認する
上記のような説明を読んだだけでは、まず、腑に落ちることはないでしょう。
オブジェクトについて理解するには、繰り返しイメージすることが必須です。
イメージするときの参考に、ローカルウィンドウで、オブジェクト変数の中身を覗いてみることをおすすめします。
Dim tmp As Characters
Set tmp = ActiveCell.Characters
Stop
End Sub
例えば「松竹梅」とセルに入力したセルをアクティブにしておいてから、上記のSubプロシージャを実行しましょう。
Stopステートメントでステップ実行になりますからローカルウィンドウで、オブジェクト変数・tmpの中を覗いてみましょう。
このような情報を持っているのがCharactersオブジェクトだということ、このような情報を持つCharactersオブジェクトを返すのが、Charactersプロパティ(またはメソッド)だということを、繰り返しイメージしてください。
最終更新日時:2021-10-08 10:28
Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAのCharactersとは