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

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

MsgBox関数

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

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

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

引数の説明

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

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

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

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

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

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

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

使用例1

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

[実行結果]

msg8


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

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

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

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

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

[実行結果]

msg9


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集