
ExcelのマクロでMessageBox(メッセージボックス)を使うことで、簡単に情報を表示したり、ユーザーに選択を促したりできます。
このブログ記事では、MsgBox関数の基本的な使い方を紹介します!
目次
1.基本的な使い方
最も簡単な形でMsgBoxを使用すると、メッセージを表示するだけのポップアップを作成できます。
Sub ShowMessageBox()
MsgBox "こんにちは!Excelマクロの世界へようこそ!"
End Sub
上記のコードを実行すると、次のようなメッセージボックスが表示されます。

2.MsgBoxの基本構文
`MsgBox`関数の構文は以下の通りです:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
1. prompt
表示するメッセージ(必須)。
2. buttons
メッセージボックスに表示するボタンやアイコンを指定します(省略可能)。詳細は後述します。
3. title
メッセージボックスのタイトルバーに表示される文字列(省略可能)。
4. helpfile, context
ヘルプファイルの指定(ほとんど使用されません)。
3.ボタンの種類とアイコン
buttonsパラメータを指定すると、メッセージボックスにボタンやアイコンを追加できます。
ボタンの種類
| 定数 | 値 | 説明 |
|---|---|---|
| vbOKOnly | 0 | [OK]ボタンのみを表示します。 |
| vbOKCancel | 1 | [OK]ボタンと[キャンセル]ボタンを表示します。 |
| vbAbortRetryIgnore | 2 | [中止]、[再試行]、[無視]の3つのボタンを表示します。 |
| vbYesNoCancel | 3 | [はい]、[いいえ]、[キャンセル]の3つのボタンを表示します。 |
| vbYesNo | 4 | [はい]ボタンと[いいえ]ボタンを表示します。 |
| vbRetryCancel | 5 | [再試行]ボタンと[キャンセル]ボタンを表示します。 |
アイコンの種類
| 定数 | 値 | 説明 |
|---|---|---|
| vbInformation | 64 | 情報アイコン |
| vbExclamation | 48 | 警告アイコン |
| vbCritical | 16 | エラーアイコン |
例えば、情報アイコン付きで「OK」と「キャンセル」ボタンを表示するには、以下のように記述します:
Sub ShowMessageWithButtons()
MsgBox "この操作を続行しますか?", vbOKCancel + vbInformation, "確認"
End Sub
4.ユーザーの選択結果を取得する
MsgBox関数は、ユーザーがクリックしたボタンの結果を返します。これを利用して、条件分岐を行うことができます。
Sub GetUserResponse()
Dim response As VbMsgBoxResult
' メッセージボックスを表示して、結果を取得
response = MsgBox("ファイルを保存しますか?", vbYesNoCancel + vbQuestion, "保存確認")
' ユーザーの応答に応じた処理
Select Case response
Case vbYes
MsgBox "ファイルを保存しました。"
Case vbNo
MsgBox "保存せずに終了します。"
Case vbCancel
MsgBox "操作をキャンセルしました。"
End Select
End Sub
5.応用例: 複数行メッセージの表示
vbNewLineを使用すると、複数行にわたるメッセージを表示できます。
Sub ShowMultilineMessage()
MsgBox "1行目のメッセージ" & vbNewLine & "2行目のメッセージ", vbInformation, "お知らせ"
End Sub
同様に、MsgBox関数で改行コードを使用するためにはvbCrLfを使用します。
Sub ShowMultilineMessage()
MsgBox "1行目のメッセージ" & vbCrLf & "2行目のメッセージ"
End Sub
6.応用例: エラー発生時の警告
エラーが発生した際に、エラーメッセージをユーザーに通知する例です。
Sub ErrorExample()
On Error GoTo ErrorHandler
' 意図的にエラーを発生させる(0で割り算)
Dim result As Double
result = 10 / 0
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました!" & vbNewLine & "エラー番号: " & Err.Number & vbNewLine & "詳細: " & Err.Description, vbCritical, "エラー"
End Sub
7.まとめ
ExcelマクロでMsgBoxを活用すると、メッセージの通知やユーザー入力を簡単に実現できます。
これを機に、MsgBoxを使った便利なマクロをぜひ試してみてください!
以上が、ExcelマクロでMessageBoxを表示する方法になります。
【Excel】ExcelマクロでMessageBoxを表示する方法 - Django Girls and Boys 備忘録
【Excel】Excelマクロで新しいシートを作成する方法 - Django Girls and Boys 備忘録
【Excel】マクロでExcelをPDF形式に保存する方法【初心者向け解説】 - Django Girls and Boys 備忘録
【Excel】Excel でマクロを有効化する方法 - Django Girls and Boys 備忘録
【Excel】Excelで文字数を簡単にカウントする方法|初心者でも分かる関数活用ガイド - Django Girls and Boys 備忘録
【PDF Excel】PDFからExcelへの変換方法:簡単な手順とツール紹介 - Django Girls and Boys 備忘録
【Excel】カレンダーを追加する方法 - Django Girls and Boys 備忘録