「vba inputbox type8 返り血」
「application inputbox type 8 戻り値」
といった検索キーワードで、時折アクセスがあります。
ExcelのApplicationオブジェクトに用意されているInputBoxメソッドの
引数Typeに「8」を指定した場合、戻り値が何なのかを調べていた方による検索です。
Application.InputBoxの引数Typeに「8」を指定したときの戻り値はRange
結論からお伝えします。
Application.InputBoxメソッドの引数Typeに「8」を指定したときの戻り値は、Rangeオブジェクトです。
Excel VBAのもっとも基本的なRangeプロパティやActiveCellプロパティの戻り値と同様、Rangeオブジェクトです。
Application.InputBoxの戻り値を確認するサンプルマクロ
簡単なコードを実行して、Application.InputBoxメソッドの戻り値を確認しましょう。
Dim tmp As Variant
Set tmp = Application.InputBox( _
Prompt:="セルを選択してください。", _
Type:=8)
Stop
End Sub
上記のExcelマクロを実行して、インプットボックスでいずれかのセルを選択して[OK]ボタンをクリックしてください。
Stopステートメントで、マクロの実行が中断しますから、拙著『理解するExcel VBA』シリーズ等でも多用しているローカルウィンドウで、変数tmpの型を目視確認してください。
上図のとおり、[型]欄に「Variant/Object/Range」と表示されるはずです。
これは、
Dim tmp As Variant
と、Variantで宣言した変数に、代入したものがObjectのRangeであることを意味しています。
TypeName関数でも戻り値の型を確認できる
また、Stopステートメントで中断中に、イミディエイトウィンドウで
? TypeName(tmp)
と入力して[Enter]キーを押せば、
Range
と出力され、戻り値がRangeであることを確認できます。
最終更新日時:2022-10-03 17:42
- Newer:カーソルのある段落をWord VBAで選択する
- Older:VBAで凡例の枠線を非表示に
Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Application.InputBoxのTypeに8を指定したときの戻り値