【Step6】条件に応じてポップアップ!メッセージボックスの使い方

VBA

はじめに

VBAの魅力の一つが「ポップアップメッセージ(メッセージボックス)」です。

これを使うと、ユーザーに注意を促したり、確認の選択をしてもらったりが簡単にできるようになります。

今回は、基本の使い方から、条件に応じた表示、Yes/Noボタンの活用までを解説していきます!


◆ MsgBoxの基本形

Sub 単純なメッセージ()

    MsgBox "処理が完了しました!"

End Sub

処理の完了をお知らせしたいときに便利。

「OK」ボタンのみが表示されます。


◆ メッセージにタイトルをつけよう

Sub タイトル付きメッセージ()

    MsgBox "データの入力を確認してください", vbInformation, "注意"

End Sub

第2引数に「vbInformation」などの定数を指定することで、アイコンが表示されます。

  • vbInformation:青い「i」アイコン
  • vbExclamation:黄色の「!」アイコン
  • vbCritical:赤い「×」アイコン

タイトルは任意の文字列を設定可能。


◆ Yes/Noで分岐処理!

Sub YesNoの選択()

    Dim userAnswer As VbMsgBoxResult

    userAnswer = MsgBox("処理を続けますか?", vbYesNo + vbQuestion, "確認")

    If userAnswer = vbYes Then
        MsgBox "処理を続けます", vbInformation
    Else
        MsgBox "処理をキャンセルしました", vbExclamation
    End If

End Sub

ユーザーに選択肢を与えて、その結果で処理を分けることができます。

+演算子で vbYesNo + vbQuestion と書くと、「Yes/Noのボタン」と「?」アイコンを表示します。


◆ 条件に応じてメッセージを出す

Sub 数値チェック()

    Dim checkValue As Long

    checkValue = Range("A1").Value

    If checkValue >= 100 Then
        MsgBox "100以上です!", vbInformation
    Else
        MsgBox "100未満です", vbExclamation
    End If

End Sub

A1セルの値に応じてメッセージを変える例です。

「入力チェック」や「条件付き処理」には欠かせません。


◆ OK/キャンセルボタンを使いたいとき

Sub 処理を中断するか選択()

    Dim result As VbMsgBoxResult

    result = MsgBox("処理を中断しますか?", vbOKCancel + vbCritical, "警告")

    If result = vbOK Then
        MsgBox "中断しました"
    Else
        MsgBox "続行します"
    End If

End Sub

vbOKCancel を使うと「OK/キャンセル」の選択肢が表示できます。

vbCriticalは警告メッセージに最適です。


チェックポイント✅

  • MsgBoxはユーザーとの「対話」に最適
  • vbYesNo, vbOKCancel などで選択肢が追加可能
  • 戻り値(vbYes、vbNoなど)を使って分岐処理を作ろう

まとめ

メッセージボックスを使うことで、ユーザーに指示を出したり、処理の判断を委ねることができます。

「入力ミスの防止」や「不要な処理の抑止」にとても効果的なので、ぜひ積極的に使ってみてください!

次回は「ユーザーフォーム」で、もっと自由に入力を受け付ける方法を紹介します。


📝 関連記事(予定)

  • 【Step7】VBAでフォーム作成!ユーザー入力をもっとスマートに
  • 【Step8】複数シート間の自動転記!業務を完全自動化
タイトルとURLをコピーしました