ExcelのVBAでは必ずというほどメッセージボックスを使用する場面が多くあります。
簡単でシンプルな使い方もあればアイコンを使用した方法など、知っていると便利な使い方がたくさんあります。
Yuそこでこの記事ではVBAを使用したメッセージボックスの使い方を紹介します。
慣れてくるととても便利なので、この記事を読みながら実際にコードを入力していきましょう。
メッセーボックスを使うと何ができる?


上の画像で「おはよう」と記載しているように、自分で考えたメッセージを簡単に作成することができます。
また、アイコンやメッセージタイトルを設定することもできますし、「はい」と「いいえ」のように選択形式を変更することも出来ます。


メッセージボックスの基本的な使い方
まずは一番シンプルなメッセージボックスの使い方を紹介します。以下のVBAコードをコピペしましょう。
Sub test()
MsgBox "おはよう"
End Sub
msgboxがメッセージボックスを表し、””の中に好きな文字を入れることでメッセージを入れることができます。


今回は標準モジュールに入れました。


ユーザーフォームの場合もメッセージボックスを使用することができます。



モジュールについてはVBAのmodule(モジュール)とは?意味や削除の方法を解説の記事でも解説しています。
メッセージボックスの種類と基本構文
続いて、メッセージボックスの種類について紹介します。
アイコンの種類
以下のコードをコピペしましょう。
Sub test()
MsgBox "おはよう", vbQuestion
End Sub
上記のコードでアイコンが設定できます。


アイコンは4種類標準で変更することができ、最後のコードを以下のように変更することで設定できます。
| アイコンの種類 | 意味 |
|---|---|
| vbCritical | ✖印。警告を表示。 |
| vbExclamation | !マーク。注意を表示。 |
| vbQuestion | ?マーク。お問合せなど。 |
| vbInformation | iマーク。情報を表示。 |
以下の画像を見ると参考になります。





アイコンがあることで視覚的に分かりやすくなりますね!
ボタンの種類
ボタンの種類を6つ紹介します。
| ボタンの種類 | 意味 |
|---|---|
| vbOKOnly | OKのみ |
| vbOKCancel | OKとキャンセル |
| vbAbortRetryIgnore | 中止、再試行、無視 |
| vbYesNoCancel | はい、いいえ、キャンセル |
| vbYesNo | はい、いいえ |
| vbRetryCancel | 再試行、キャンセル |
VBAコードの際はボタンの種類+アイコンで設定できます。
以下のコードを入力すると、OKとキャンセルボタンが表示されます。
Sub test()
MsgBox "おはよう", vbOKCancel + vbInformation
End Sub


画像と照らし合わせると以下のようになります。


メッセージボックスにタイトル設定
タイトルを設定する場合は以下のように、最後に””で囲みながら入力することで好きなタイトルを設定できます。
Sub test()
MsgBox "おはよう", vbYesNo + vbInformation, "タイトル"
End Sub


メッセージボックスの実務での活用例
IFを使用することで条件分岐が可能です。
以下のコードをコピペしましょう。
Sub test()
Dim 確認 As Integer
確認 = MsgBox("おはよう", vbYesNo + vbInformation, "タイトル")
If 確認 = vbYes Then
MsgBox "おはようです"
Else
MsgBox "おはようではありません"
End If
End Sub
はいを選択するかいいえを選択するかでその後のメッセージが変わります。


また、VBA以外でもIFは関数でもよく使います。以下の記事も見てみましょう。
以下のExcel記事もおすすめです。
メッセージボックスで改行する
改行する場合は以下のVBAコードを参考にしましょう。
Sub test()
MsgBox "おはよう" & vbCrLf & "よろしくお願いします!"
End Sub
& vbCrLf & で改行し、その後””の中に好きな文字を入力することで改行後の文字を設定できます。


デフォルトボタンの設定
メッセージボックスでは最初に「はい」か「いいえ」のデフォルトを設定することも出来ます。
Sub test()
MsgBox "おはよう", vbOKCancel + vbInformation + vbDefaultButton2, "タイトル"
End Subぼ
ボタンの1~4を変更することで、左から数えて好きなボタンを初期設定できます。


CaSe(ケース)を使用した条件分岐
IFを使用した方法以外にも、メッセージボックスの条件分岐でよく使われるのがCaSeです。
Sub test()
Dim 確認 As Integer
確認 = MsgBox("おはよう", vbYesNo + vbInformation, "タイトル")
Select Case 確認
Case vbYes
MsgBox "おはようです"
Case vbNo
MsgBox "おはようではありません"
End Select
End Sub



条件によって様々な実行条件を設定するとき、Caseを使用した場合の方がVBAコードが見やすくなることもあります。
まとめ
今回はVBAを使用したメッセージボックスの使い方について紹介しました。
私の場合は最初シンプルな方法で練習し、慣れてきたらアイコンを使用していきました。
アイコンが無い方が分かりやすいこともありますので、まずはメッセージボックスのシンプルな方法から試してみるのもおすすめです。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
【ステップ15へ進む▼▼】













