Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » InputBox関数の戻り値の型

InputBox関数の戻り値の型

動作検証バージョン:Windows版Excel(バージョン1904 ビルド11601.20144)

InputBox関数の戻り値の型

「inputbox データ型」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが割とあります。

「excel vba inputbox返り値」
「エクセルvba inputbox 戻り値」
という検索キーワードも、同じことを調べていたのではないかという気がします。
VBAのInputBox関数、またはExcel VBAのApplication.InputBoxメソッドの戻り値のデータ型を調べていた方による検索ではないかと想像しています。

[スポンサードリンク]

VBAのInputBox関数、Excel VBAのApplication.InputBoxメソッド、どちらかは上記の検索キーワードからはわかりませんが、この記事ではVBAのInputBox関数の戻り値の型について書いておきます。

InputBox関数の戻り値のデータ型を調べるサンプル

拙著『いちばんやさしいExcel VBAの教本』で何度も利用している、ローカルウィンドウを使って、ご自分の目で確認することをおすすめします。


Sub InputBox関数の戻り値を確認する()
 Dim tmp As Variant
 tmp = InputBox("何か入力してください。")
 Stop
End Sub

以上のような簡単なSubプロシージャを作って、ローカルウィンドウでInputBox関数の戻り値の型を調べられます。

データ型をローカルウィンドウで確認する

上記のSubプロシージャを実行すると、Stopステートメントで一時停止しますから、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示して、変数tmpの[型]欄を確認しましょう。

インプットボックスに「abc」と入力していた場合、下図のようになります。

InputBox関数の戻り値の型

宣言されていた型Variantと、InputBox関数の戻り値が代入されたあとの型Stringが、「Variant/String」と表示されています。

再度実行してインプットボックスに「1234」と入力した場合も、下図のとおり「Variant/String」と表示されます。

InputBox関数の戻り値の型

つまり、VBAのInputBox関数の戻り値は必ずString型だということです。
「1234」のように数値的なデータが入力されたとしても、です。

ちなみに、ここで使っているVariant型の変数にデータを代入してローカルウィンドウで調べるという方法は、多くの場面で使えます。だからこそ拙著では、VBEのデバッグツールの中でローカルウィンドウを、おすすめしています。

TypeName関数でデータ型を確認する

TypeName関数でも調べることができます。

先のSubプロシージャを以下のように編集します。


Sub InputBox関数の戻り値を確認する()
 Dim tmp
 tmp = InputBox("何か入力してください。")
 ' Stop
 MsgBox TypeName(tmp)
End Sub

この状態で実行した場合、インプットボックスに「abc」を入力すれば当然「String」とメッセージボックスに表示されます。

インプットボックスに「1234」と入力した場合でも「String」と表示されます。

ヒントでデータ型を確認する

InputBox関数がString型データを返すことは、コードウィンドウに表示されるヒントでも確認できます。

コードウィンドウ上で「InputBox」にカーソルがある状態でショートカットキー[Ctrl]+[I]を押すと、InputBox関数がどのように定義されているか、ヒントが下図のように表示されます。

InputBox関数の戻り値の型

このヒントにも「As String」と、どのような型のデータを返すのかが表示されています。

最終更新日時:2019-05-10 15:26

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » InputBox関数の戻り値の型

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » InputBox関数の戻り値の型

「VBA関数」の記事一覧

検索


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

.