- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「ctrl+J」でヒントが出る場合と出ない場合が)
VBAのシート選択でメソッド一覧が表示されない理由は?
このQ&Aのポイント
- VBAのシート選択時にメソッド一覧が表示されない理由を調査しました。
- VBAのコードでSheetsメソッドを使用してシートを選択する際、メソッド一覧が表示されない問題について解説します。
- VBAのコードでSheetsメソッドに続けて.を入力した際、メソッド一覧が表示されない原因と解決方法についてまとめました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
参考: http://support.microsoft.com/kb/188389/en-us 親オブジェクトピリオドの続きに自動メンバ表示が機能しないのは、次のようなケースです。 1.親オブジェクトの「オブジェクトの種類」を1つに特定できない場合 たとえば親オブジェクトとして「Sheets("Sheet1")」と書いても、「ワークシート」の可能性と「グラフシート」である可能性があり、この一文だけではそのどちらなのか特定できません。 2.親オブジェクトのクラスが複数のオブジェクトの種類を表現し得る場合 親オブジェクトとして例えば「Worksheets(Index)」は、Worksheetオブジェクトと、Worksheetsコレクションオブジェクトの2通りの使い方ができるので、自動メンバ表示は作動しないようになっています 3.親オブジェクトがバリアント型の場合 たとえば dim s as worksheet set s = worksheets("Sheet1") s. まで書いてCtrl+J した場合、変数sはワークシートオブジェクトとして特定されているため、自動メンバ表示されます。 たとえば dim o as variant set o = worksheets("Sheet1") o. まで書いてCtrl+J しても、変数oはバリアント型のため、自動メンバ表示されません。
お礼
「自動メンバの表示」と言うのですね。 「ワークシート」の可能性と「グラフシート」である可能性があり、この一文だけではそのどちらなのか特定できないからなのですね。納得です。 バリアント型は自動メンバは表示されないのですか。覚えます。 ありがとうございました。大変参考になりました。