Excel VBAでメッセージボックスを活用すれば、ユーザーにメッセージを伝えたり、確認を求めたりすることができます。この記事では、基本的なコードスニペットから、アイコンや改行の使い方までを解説します。
1. シンプルなメッセージボックス
メッセージボックスを表示する最も基本的なコードです。
Sub SimpleMessageBox()
    MsgBox "処理が完了しました。"
End Sub
2. タイトルを指定したメッセージボックス
メッセージボックスにタイトルを付けることができます。
Sub MessageBoxWithTitle()
    MsgBox "処理が完了しました。", vbInformation, "通知"
End Sub
3. アイコンを追加したメッセージボックス
メッセージボックスにアイコンを表示して、視覚的に伝わりやすくします。
主なアイコン一覧
| 定数 | 説明 | 
|---|---|
vbCritical | エラー (×アイコン) | 
vbQuestion | 質問 (?アイコン) | 
vbExclamation | 警告 (!アイコン) | 
vbInformation | 情報 (iアイコン) | 
使用例
Sub MessageBoxWithIcon()
    MsgBox "この操作を続行しますか?", vbQuestion, "確認"
End Sub
4. 複数ボタン付きメッセージボックス
「はい」「いいえ」「キャンセル」など、複数の選択肢を用意したメッセージボックスを表示します。
主なボタン一覧
| 定数 | 説明 | 
|---|---|
vbOKOnly | OKボタンのみ | 
vbOKCancel | OKとキャンセル | 
vbYesNo | はいといいえ | 
vbYesNoCancel | はい・いいえ・キャンセル | 
使用例
Sub MessageBoxWithButtons()
    Dim result As VbMsgBoxResult
    result = MsgBox("変更内容を保存しますか?", vbYesNoCancel + vbQuestion, "確認")
    Select Case result
        Case vbYes
            MsgBox "保存しました。"
        Case vbNo
            MsgBox "保存せずに終了します。"
        Case vbCancel
            MsgBox "操作をキャンセルしました。"
    End Select
End Sub
5. メッセージ内に改行を追加する
改行を使って、メッセージを見やすく整形する方法です。
使用例
Sub MessageBoxWithLineBreak()
    MsgBox "処理が完了しました。" & vbCrLf & "次の操作を選択してください。", vbInformation, "通知"
End Sub
改行コード一覧
| コード | 説明 | 
|---|---|
vbCrLf | Windows用改行 | 
vbNewLine | システムに応じた改行 | 
6. メッセージボックスのカスタマイズ
条件に応じてメッセージの内容を変える例です。
Sub CustomMessageBox()
    Dim userName As String
    userName = "山田"
    MsgBox "こんにちは、" & userName & "さん。" & vbCrLf & "今日の作業は完了しました。", vbInformation, "挨拶"
End Sub
注意点
- ユーザーの選択を適切に処理する
ボタン付きのメッセージボックスでは、Select Caseを使用して、選択結果に応じた処理を必ず追加してください。 - 改行でメッセージを見やすくする
長いメッセージはvbCrLfで改行することで、読みやすさが向上します。 - 適切なアイコンの使用
メッセージの内容に合ったアイコンを使用することで、直感的に理解しやすくなります。 
まとめ
VBAでのメッセージボックス活用は、ユーザーとのインタラクションを強化する重要な手段です。この記事で紹介したコードを参考に、業務に応じたメッセージボックスを作成してみてください!

  
  
  
  
コメント