Blog
ブログで学ぶUX

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

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

MsgBox関数

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

Msgbox([メッセージ])

メッセージが表示されるだけでよければ、これだけで十分ですが、より正確な構文は下記です。

Msgbox([メッセージ], [ボタン形態], [タイトル], [ヘルプファイル], [コンテキスト])

[メッセージ]のみ必須で、他は省略可能ですが、[ボタン形態][タイトル]はよく使いますので追って説明します。[ヘルプファイル][コンテキスト]はヘルプ表示を設定するときに使用します。

引数の説明

[メッセージ], [ボタン形態], [タイトル]まで紹介します。

[メッセージ]:メッセージボックスに表示される文字です。文字列で指定します。

[ボタン形態] :メッセージボックスに表示されるボタンやアイコンを指定できます。数が多いので主なもののみを紹介します。下表(1)および(2)を足し算の形で組み合わせて設定できます。

(例)OKボタンのみで警告アイコン→vbOKOnly+vbCritical

ボタン関係(1) アイコン関係(2)
vbOKOnly [OK] ボタンのみ vbCritical 警告(X)
vbOKCancel [OK] と [キャンセル] ボタン vbQuestion 問い合わせ(?)
vbYesNoCancel [はい]、[いいえ]、[キャンセル]ボタン を表示 vbExclamation 注意(!)
vbYesNo [はい] 、[いいえ] ボタンを表示 vbInformation 情報(i)

なお、(1)同士や(2)同士の設定はできません。

[タイトル]:タイトルとして表示される文字です。

使用例1

OKボタンのみ+各種アイコンの組み合わせを確認してみます。アイコン付のものはキャプションも設定しています(×ボタンの左隣)のでご確認ください。

'必須引数のみ
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

投稿日:
カテゴリ: Web制作