Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Application.InputBoxのTypeに8を指定したときの戻り値

Application.InputBoxのTypeに8を指定したときの戻り値

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2208 ビルド15601.20148 Microsoft Store)

「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メソッドの戻り値を確認しましょう。

Sub 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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Application.InputBoxのTypeに8を指定したときの戻り値

「Applicationオブジェクト」の記事一覧

検索


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

.