Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAのCharactersとは

対象:Excel2010, Excel2013, Windows版Excel2016

Excel VBAの学習を進める中で、ハードルとなる学習項目がいくつかあります。

プログラミングがまったくはじめてという方の場合は、

  • (配列やオブジェクト変数ではない、普通の)変数
  • ループ処理

あたりが、まず、乗り越えるべきハードルです。

その後の大きなハードルは、なんといってもオブジェクトを取得するコード(オブジェクト式)です。

そのようなオブジェクト式について、まだ理解できてらっしゃらない、
「エクセル データ型 characters」
という検索キーワードに気づきました。

Excel VBAには、Charactersという名前のプロパティ(及びメソッド)が複数存在します。

オブジェクトブラウザーで「chareacters」を完全一致検索した結果

上図は完全一致で、「characters」をオブジェクトブラウザーで検索した結果です。

このCharactersプロパティ(メソッド)の戻りがどのような型なのか、あるいは変数に代入する場合にデータ型をどうすればいいのかを調べていらしたのでしょうか。

[スポンサードリンク]

Charactersプロパティの戻りはCharactersオブジェクト

結論からいえば、Excel VBAのCharactersプロパティ(Charactersメソッド)の戻りは、基本的にはCharactersオブジェクトです。

Excel.Range.Characters

Charactersプロパティ・メソッドの戻りを代入する変数は「As Characters」と宣言すればOKです。

ただし、TextRange2オブジェクトのCharactersプロパティだけはTextRange2オブジェクトを返します。

Office.TextRange2.Characters

Charactersオブジェクトを確認する

上記のような説明を読んだだけでは、まず、腑に落ちることはないでしょう。

オブジェクトについて理解するには、繰り返しイメージすることが必須です。

イメージするときの参考に、ローカルウィンドウで、オブジェクト変数の中身を覗いてみることをおすすめします。

Sub Charactersを確認する()
 Dim tmp As Characters
 Set tmp = ActiveCell.Characters
 Stop
End Sub

例えば「松竹梅」とセルに入力したセルをアクティブにしておいてから、上記のSubプロシージャを実行しましょう。

Stopステートメントでステップ実行になりますからローカルウィンドウで、オブジェクト変数・tmpの中を覗いてみましょう。

ローカルウィンドウCharactersオブジェクトを確認している状態

このような情報を持っているのがCharactersオブジェクトだということ、このような情報を持つCharactersオブジェクトを返すのが、Charactersプロパティ(またはメソッド)だということを、繰り返しイメージしてください。

最終更新日時:2021-10-08 10:28

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAのCharactersとは

Copyright © インストラクターのネタ帳 All Rights Reserved.

.