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」を実行してください。

【このコードの解説】

Dim Msg As Integer

Msg = Range("E2").Value

Range("E2").Valueの部分は「セルE2の値」という意味で今回の場合は「205」を表わします。
これを代入記号「イコール」を使って変数「Msg」に代入しているわけです。

MsgBox "合計点を表示します。"

この場合、「合計点を表示します。」というメッセージが表示されます。

MsgBox "合計点は" & Msg & "点です。"

この例では変数「Msg」には「205」が格納されていますので、これらをつなげると、「合計点は205点です。」というメッセージが表示されます。