VBE(Visual Basic Editor)の自動データヒント機能は、プロパティでは使えないと思い込んでらっしゃる記述をみかけたので、記事にさせていただきます。
ステップ実行中にデータを簡単に確認できる自動データヒント
自動データヒント機能とは、ステップ実行中に、データを確認したい式の上にマウスポインタを置くことで、データを簡単に確認できる機能です。
マウスポインタを移動する手間はあるものの、画面を占有しないので、特に解像度の低いパソコンを使っているような場合に、ローカルウィンドウやウォッチウィンドウなどよりも、便利な機能です。
プロパティで自動データヒントが表示されるケースとされないケース
自動データヒントは、上述のように変数の値をちょっと確認したい場合に便利です。単なるデータを返すプロパティについては、確認できるケースとできないケースがあります。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
- Newer:VBAで列番号を取得する
- Older:VBAで画面切り替え効果を設定する
Home » VBE(Visual Basic Editor) » プロパティでも自動データヒントは表示される