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であるため自動メンバー表示されないのと同様に、自動データヒントも表示されなくなります。

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

最終更新日時:2019-01-07 03:08

[スポンサードリンク]

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

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

検索


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

.