構文
構文は以下の通りです。
解説
InputBox関数は、ユーザーからの入力を受け取るための関数です。マクロを実行する際に、ユーザーに対してメッセージを表示し、入力を求めることができます。ユーザーが入力した値は、変数に代入することができます。
引数 | 指定 | 内容 |
メッセージ | 必須 | ユーザーに表示するメッセージを指定します。 |
タイトル | 省略可 | 入力ボックスのタイトルを指定します。 |
初期値文字列 | 省略可 | 初期値として表示する文字列を指定します。 |
X軸 | 省略可 | 表示位置(X軸)を指定します。 |
Y軸 | 省略可 | 表示位置(Y軸)を指定します。 |
ヘルプファイル | 省略可 | ヘルプ用のファイルを指定します。 |
コンテキストID | 省略可 | ヘルプボタンクリック時に表示するページ位置を指定します。 |
使い方
1.データの入力と処理
InputBox関数を活用する具体的な例として、テストの成績を入力して平均点を計算する場面を考えてみましょう。以下のようなコードを使って、生徒たちの成績を入力し、平均点を表示することができます。
Dim Total As Double
Dim Count As Integer
Dim Score As String
Do
Score = InputBox("成績を入力してください(終了するには空白を入力)")
If Score <> "" Then
Total = Total + CDbl(Score)
Count = Count + 1
End If
Loop Until Score = ""
If Count > 0 Then
MsgBox "平均点は " & Total / Count & " です。"
Else
MsgBox "成績が入力されていません。"
End If
End Sub
上記のコードでは、InputBox関数を使って成績を入力しています。ユーザーが空白を入力するまで、繰り返し入力を受け付けます。入力された成績は合計値とカウントに加算され、最終的に平均点が計算されます。平均点はメッセージボックスで表示されます。
2.データの確認と検証
また、データの確認や検証にも役立ちます。例えば、テストの点数を入力する際に、0から100の範囲内の値であるかを確認する場合、以下のようなコードを使うことができます。
Dim Score As String
Do
Score = InputBox("点数を入力してください(0から100の範囲内)")
If Not IsNumeric(Score) Then
MsgBox "数値を入力してください。"
ElseIf Score < 0 Or Score > 100 Then
MsgBox "0から100の範囲内で入力してください。"
Else
MsgBox "入力された点数は正当です。"
Exit Sub
End If
Loop
End Sub
上記のコードでは、入力された値が数値であるかを確認し、範囲内かどうかを判定しています。不正な入力がある場合は適切なメッセージを表示し、再度入力を促します。
プログラミング例
以下に、具体的なプログラミング例を示します。
Dim userName As String
userName = InputBox("あなたの名前を入力してください:", "名前入力")
If userName <> "" Then
MsgBox "ようこそ、" & userName & "さん!", vbInformation
Else
MsgBox "名前が入力されていません。", vbExclamation
End If
End Sub
上記の例では、InputBox関数を使用してユーザーから名前の入力を受け取っています。Prompt引数には「あなたの名前を入力してください」というメッセージが表示され、Title引数には「名前入力」というタイトルが設定されています。ユーザーが入力した名前はuserNameという変数に代入され、その後の処理で使用されます。入力があった場合は、入力された名前をメッセージボックスで表示します。入力がなかった場合は、名前が入力されていません」というメッセージを表示します。
まとめ
InputBox関数を使うことで、ユーザーからの動的な情報を取得し、その情報を元にプログラムの動作を制御することができます。是非活用してください。