はじめに
VBAで作業をしていると、
「処理が終わったことを知らせたい」
「ユーザーに確認してほしい」
「エラーが起きたことを伝えたい」
そんな場面がよくあります。
そこで活躍するのが メッセージボックス(MsgBox) です。
ここでは、メッセージボックスの基本の使い方と、
実務で役立つ書き方を解説します。
まずはコードを確認
MsgBox "処理が完了しました。"
もっともシンプルな書き方です。
画面にメッセージを表示するだけの、やさしい通知です。
メッセージボックスの基本
メッセージを表示する
MsgBox "こんにちは"
タイトルをつける
MsgBox "処理が完了しました。", , "完了メッセージ"
第2引数は省略し、タイトルだけ指定できます。
ボタンを指定する
OK / キャンセルを表示する
MsgBox "実行しますか?", vbOKCancel
はい / いいえ を表示する
MsgBox "保存しますか?", vbYesNo
アイコンをつける(情報・警告・エラー)
MsgBox "完了しました", vbInformation
MsgBox "注意が必要です", vbExclamation
MsgBox "エラーが発生しました", vbCritical
押されたボタンを判定する
Dim result As VbMsgBoxResult
result = MsgBox("保存しますか?", vbYesNo)
If result = vbYes Then
MsgBox "保存します。"
Else
MsgBox "キャンセルしました。"
End If
ユーザーの選択に応じて処理を分岐できます。
具体的な例で理解する
処理完了を知らせる
MsgBox "データの更新が完了しました。", vbInformation, "完了"
やさしい通知としてよく使います。
危険な操作の前に確認する
If MsgBox("本当に削除しますか?", vbYesNo + vbExclamation, "確認") = vbYes Then
'削除処理
End If
実務で特に大切なパターンです。
エラー時にメッセージを表示する
On Error GoTo ErrHandler
'処理
Exit Sub
ErrHandler:
MsgBox "エラーが発生しました:" & Err.Description, vbCritical, "エラー"
ユーザーに状況を伝えることで、安心感が生まれます。
MsgBox の引数まとめ(実務でよく使うもの)
| 種類 | 内容 |
|---|---|
| vbOKOnly | OKのみ |
| vbOKCancel | OK / キャンセル |
| vbYesNo | はい / いいえ |
| vbInformation | 情報アイコン |
| vbExclamation | 警告アイコン |
| vbCritical | エラーアイコン |
組み合わせて使うこともできます。
注意点(実務で気をつけたいこと)
- メッセージが多すぎると作業が止まる
→ 必要な場面だけに絞ると、ユーザーが迷いません。
- 長い文章は読まれにくい
→ 伝えたいことを短く、やさしく。
- 自動処理では MsgBox が止めてしまう
→ バッチ処理では使わない方が安全です。
まとめ
- MsgBox “メッセージ” で簡単に表示できる
- ボタンやアイコンを指定して、状況に合わせた通知が可能
- 押されたボタンを判定して処理を分岐できる
- 実務では「確認」「警告」「完了通知」で特に役立つ
- メッセージは短く、必要な場面だけに絞るのが安心
メッセージボックスは、
ユーザーとの“ちいさな対話”を支える大切な機能です。

メッセージボックスは、処理の節目にそっと寄り添う存在です。
必要なときにだけ、やさしく声をかけるように使うと、
VBAの動きがぐっとわかりやすくなります。

ぽこんって出てくるメッセージ、かわいいよね。
VBAは、そんな小さな声かけも上手なんだね。

コメント