4、VBAによるマクロの作成(基礎編)
4−4、インプットボックス
インプットボックス
これまでセルに入力してきた文字や値は、あらかじめ決まったものでしたが、例えばテストの点数などはあらかじめ何点になるかわかりませんよね。このように、場合によって入力する値が変わる時に便利なのがインプットボックスで、ユーザーに入力を求め、その値をマクロに取り込み処理をします。
例4)
※「Example1」〜「Example3」の続きです。
2人目の生徒「佐藤」君の、各教科の点数をインプットボックスによって入力します。Sub Example4()
Dim Jap As Integer
Dim Math As Integer
Dim Eng As Integer
Worksheets("Sheet1").Select
Range("A3") = "佐藤"
Jap = InputBox("国語の点数は?","国語")
Range("B3") = Jap
Math = InputBox("数学の点数は?","数学")
Range("C3") = Math
Eng = InputBox("英語の点数は?","英語")
Range("D3") = Eng
End Sub記述後、「マクロの実行」から「Example4」を実行してください。
【このコードの解説】
- 国語の点数を格納する変数「Jap」、数学の点数を格納する変数「Math」、英語の点数を格納する変数「Eng」をそれぞれ整数型の変数として宣言します。
Dim Jap As Integer
Dim Math As Integer
Dim Eng As Integer
- 2人目の生徒名「佐藤」をSheet1のセルA2に入力します。
Worksheets("Sheet1").Select
Range("A3") = "佐藤"
- 入力を要求する命令は「InputBox」を使います。「InputBox」に続けてかっこを書き、その中にメッセージとタイトルを書きます。(下図参照)メッセージとタイトルの間にはカンマ「,」を入れます。
メッセージとは、入力要求のダイアログの中に表示するメッセージ(指示)でダブルクォーテーションで囲みます。
タイトルとは、入力要求のダイアログのタイトルでこちらもダブルクォーテーションで囲みます。InputBox("国語の点数は?","国語")
これを実行するとタイトルが「国語」、入力メッセージが「国語の点数は?」というインプットボックスが表示されます。
- インプットボックスによって入力された値を変数に格納します。
Jap = InputBox("国語の点数は?","国語")
- 変数に格納された値をセルに出力します。
Range("B3") = Jap
- 数学、英語についても同様です。