Home » VBE(Visual Basic Editor) » プロパティでも自動データヒントは表示される

プロパティでも自動データヒントは表示される

プロパティでも自動データヒントは表示される

VBE(Visual Basic Editor)の自動データヒント機能は、オブジェクト式(プロパティ)では使えないと思い込んでらっしゃる記述を某所でみかけたので、記事にさせていただきます。

[スポンサードリンク]

ステップ実行中にデータを簡単に確認できる自動データヒント

自動データヒント機能とは、ステップ実行中に、データを確認したい式の上にマウスポインタを置くことで、データを簡単に確認できる機能です。

プロパティでも自動データヒントは表示される

マウスポインタを移動する手間はあるものの、画面を占有しないので、特に解像度の低いパソコンを使っているような場合に、ローカルウィンドウやウォッチウィンドウなどよりも、便利な機能です。

プロパティで自動データヒントが表示されるケースとされないケース

自動データヒントは、上記のように、変数の値をちょっと確認したい場合に便利ですが、オブジェクトではない単なるデータを返すプロパティの場合、確認できるケースもあります。


Sub プロパティの自動データヒント()
 MsgBox Range("A1").Value
 MsgBox Cells(1, 1).Value
 MsgBox ActiveSheet.Name
 MsgBox ActiveWorkbook.Name
End Sub

上記のようなExcelマクロで、
Range("A1").Valueと、

プロパティでも自動データヒントは表示される

ActiveWorkbook.Nameは、

プロパティでも自動データヒントは表示される

自動データヒントが表示されます。

これに対し、
  Cells(1, 1).Value
  ActiveSheet.Name
は自動データヒントは表示されません。

つまり、
 自動メンバー表示される場合、自動データヒントも表示され
 自動メンバー表示されない場合、自動データヒントも表示されない
ということです(おおむね)。

戻りがObjectやVariantのオブジェクト式が、階層の途中に含まれると、それ以降のオブジェクト式で自動メンバー表示されなくなってしまうのと同じように、自動データヒントも表示されなくなります。
即ち、上記のプロシージャで自動データヒントの表示された、
 Range("A1").Value
を、上位の階層から、
 Sheets(1).Range("A1").Value
 ActiveSheet.Range("A1").Value
のように書いた場合、「Sheets(1)」「ActiveSheet」の戻りがObjectであるため自動メンバー表示されないのと同様に、自動データヒントも表示されなくなります。

もちろん、戻りが単なるデータではなくオブジェクトの場合には、イミディエイトウィンドウやメッセージボックスにオブジェクトをそのままは出力できないのと同じように、自動データヒントも表示されません(基本的には)。

[スポンサードリンク]

Home » VBE(Visual Basic Editor) » プロパティでも自動データヒントは表示される

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » VBE(Visual Basic Editor) » プロパティでも自動データヒントは表示される

「VBE(Visual Basic Editor)」の記事一覧

検索

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

.