Excel VBAでメッセージボックスを表示する:MsgBox

VBAのメッセージボックスについて説明します。

MsgBox関数

画面上に、メッセージ付きのウインドウを表示します。

'必須引数のみ
MsgBox "テスト"
'アイコンと組み合わせる
MsgBox "テスト", vbCritical + vbOKOnly, "警告アイコン"
MsgBox "テスト", vbExclamation + vbOKOnly, "注意アイコン"
MsgBox "テスト", vbInformation + vbOKOnly, "情報アイコン"
MsgBox "テスト", vbQuestion + vbOKOnly, "問合せアイコン"

[実行結果]

msg8


使用例2 戻り値を活用する

MsgBox関数は、押されたボタンの種類に依存した戻り値(数値/整数型)を持ちます。

  戻り値 意味
vbOK [OK]が押された
vbCancel [キャンセル]が押された
vbYes [はい]が押された
vbNO [いいえ]が押された

下記例は、【1】のメッセージボックスで「はい」、「いいえ」、「キャンセル」の中でどのボタンが押されたのか調べ、【2】のボックスでその結果に合わせた戻り値を表示するものです。

なお、【1】のように戻り値を使用する場合は、Integer(整数)型の変数(Ans)に代入する形で記述します。また、引数は()で括ります。戻り値を使わない場合、()は要りません。

Dim Ans As Integer, Reply As String

'【1】戻り値を使うときは引数を()で括ります。
Ans = MsgBox("どれか押してください", vbYesNoCancel, "戻り値を表示します")

Select Case Ans
    Case Is = 6
        Reply = "はい"
    Case Is = 7
        Reply = "いいえ"
    Case Is = 2
        Reply = "キャンセル"
End Select
    
    '【2】戻り値を使わないときは[関数名](スペース)[引数]を()で括りません。
    MsgBox Reply & "が押されました(戻り値" & Ans & ")", vbInformation, "押したボタンは"

[実行結果]

msg9