InputBoxを使うとデータ入力のダイアログボックスを表示することができます。
キャンセルされた場合の処理についても掲載します。
基本的な構文 : 戻り値 = InputBox(メッセージ, タイトル, 初期値)
詳しい引数については、こちらのInputBox関数を参照してください。
● 基本的な使用例
下記のInputBoxを使用したVBAを入力します。
Sub MyInput()
Dim s As String
s = InputBox("文字を入力してください", "InputBox使用例")
MsgBox s
End Sub
- 文字列変数sを宣言
- InputBoxの戻り値を変数sに代入
- MsgBoxで変数sの内容を表示
実行結果はタイトルに指定した「InputBox使用例」が表示された、ダイアログボックスが表示されます。
データを入力し[OK]ボタンをクリックすると、入力したデータが表示されます。
初期値を設定することもできます。
s = InputBox("入力してください", "InputBox使用例", "あいうえお123456789")
初期値が選択された状態でダイアログボックスが表示されます。
● InputBoxでキャンセルされた場合の処理
下はInputBoxの戻り値を数値変数に入力するようにしています。
Sub MyInput()
Dim i As Long
i = InputBox("数値を入力してください", "InputBox使用例")
MsgBox i
End Sub
InputBoxでキャンセルボタンがクリックされると、「型が一致しません。」のエラーとなってしまいます。
キャンセルが押された場合の処理を追加した、下記のVBAに変更してください。
Option Compare Database
Option Explicit
Sub MyInput()
Dim s As String
s = InputBox("入力してください", "InputBox使用例", "123456789")
If StrPtr(s) = 0 Then
Exit Sub
End If
MsgBox s
End Sub
追加したStrPtr関数は、変数が空(NULL)の時に0が返るので、これでCancelを判定しています。