構文
記述方法は以下の通りとなります。
InputBox(”[メッセージ]”,”[タイトル]”,”[テキストBOX]”)
[説明]:
ダイアログBOX内にあるテキストBOXに入力された文字列を返します。
[メッセージ] | ダイアログBOX内に表示するメッセージを記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
[タイトル] | 省略可能です。 ダイアログBOXのタイトルに表示する文字列を記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
[テキストBOX] | 省略可能です。 テキストBOXに既定値として表示する文字列を記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
実際に実行すると以下の画面が表示されます。
[記述例]:
InputBox("年齢を入力して下さい。", "年齢入力画面", "数字で入力して下さい。")
使い方
使い方について具体的に説明します。
[プログラミング例]:
Sub サンプル()
'↓処理①
Dim 年齢 As Variant
'↓処理②
年齢 = InputBox("年齢を入力して下さい。", "年齢入力画面", "数字で入力して下さい。")
'↓処理③
If (IsNumeric(年齢) = True) Then
MsgBox 年齢
Else
MsgBox "年齢は数字で入力して下さい。", 16, "メッセージ"
End If
End Sub
処理の流れは以下の通りとなります。
[処理①]:変数定義
Dimによる変数定義となります。
[処理②]:InputBox関数を使用して年齢を入力
InputBox関数を使用して年齢を入力させる画面を表示させます。メッセージは「年齢を入力して下さい。」となり、タイトルは「年齢入力画面」となります。また、テキストBOXには「数字で入力して下さい。」の内容が表示されます。テキストBOXにデータ入力後『OK』ボタンをクリックすると、上記[処理①]で指定した変数:年齢にテキストBOXの入力内容がセットされます。
[処理③]:IF文とIsNumeric関数を使用した入力データの判定
上記[処理②]で変数:年齢にセットした内容が数字なのか?否か?の判定をIF文とIsNumeric関数を使って行います。セットした内容が数字の場合、入力した数字をMsgBoxで表示します。また、数字以外の場合、「年齢は数字で入力して下さい。 」のエラーコメントを表示します。
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例①]:
①<実行>ボタンをクリックします。
②InputBoxが表示されます。
③テキストBOXに「20」の数字を入力し、<OK>ボタンをクリックします。
④結果は以下の様に表示されます。MsgBoxで「20」が表示されます。
実行例1についての説明は以上です。
[実行例②]:
①<実行>ボタンをクリックします。
②InputBoxが表示されるので、テキストBOXの内容が初期値の「数字で入力して下さい。」のまま<OK>ボタンをクリックします。
③結果は以下の様に表示されます。MsgBoxで「年齢は数字で入力して下さい。」のコメントを表示します。(※数値以外を入力したため、エラーメッセージが表示されました。)
実行例2についての説明は以上です。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
InputBoxの具体的な使い方についての説明は以上です。
プログラミング(サンプル)
プログラミング事例を紹介します。
おわりに
今回はInputBox関数の使い方について説明しました。VBA実行中にユーザーから文字列や数値を入力させるには、InputBoxを使う事が有効的で簡易的になります。是非有効に活用してみて下さい。