4、VBAによるマクロの作成(基礎編)
4−3、メッセージ&値の取得
メッセージボックス
Excelから表示されるメッセージを制御する命令が「メッセージボックス」です。すきなフレーズをメッセージとして表示することができます。
ここでは、メッセージを表示するだけの単純なものを紹介しますが、「はい」or「いいえ」ボタンや「OK」or「キャンセル」ボタンのついた高度なものもあります。(こちらについては応用編で解説します。)
値の取得
値の取得とは、入力の逆でセルに入力されている文字や値をプログラム(マクロ)の中へ取り込むことです。取り込んだ文字や値は変数などに格納し、プログラム中で利用されます。
両方をふまえた例
※「Example1」と「Example2」の実行結果を利用しますので、あらかじめ「Example1」と「Example2」を実行しておいて下さい。
例3)
E2に入力されている合計点を取得し、変数「Msg」に代入します。
それをもとに、合計点を表示するという予告をしてから、生徒の合計点をメッセージとして表示します。Sub Example3()
Dim Msg As Integer
Worksheets("Sheet1").Select
Msg = Range("E2").Value
MsgBox "合計点を表示します。"
MsgBox "合計点は" & Msg & "点です。"
End Sub記述後、「マクロの実行」から「Example3」を実行してください。
【このコードの解説】
- 「Msg」を整数型の変数として宣言します。
Dim Msg As Integer
- 「Sheet1」のセルE2に入力されている値を変数「Msg」に代入します。
Msg = Range("E2").Value
Range("E2").Valueの部分は「セルE2の値」という意味で今回の場合は「205」を表わします。
これを代入記号「イコール」を使って変数「Msg」に代入しているわけです。
- メッセージを表示するには「MsgBox」という命令を使います。
「MsgBox」に続けて、表示したいフレーズをダブルクォーテーション「""」で囲んで記述します。MsgBox "合計点を表示します。"
この場合、「合計点を表示します。」というメッセージが表示されます。
- 「MsgBox」で表示させるフレーズには変数を含めることもできます。このとき、変数はダブルクォーテーションで囲む必要はありません。
また、複数の単語をいくつか並べて一つのフレーズとして表示させる場合は、それぞれの単語をアンド「&」でつなげます。このとき、「&」の前後は半角スペースで空けて下さい。MsgBox "合計点は" & Msg & "点です。"
この例では変数「Msg」には「205」が格納されていますので、これらをつなげると、「合計点は205点です。」というメッセージが表示されます。