0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】MsgBox関数|メッセージボックスを表示する方法と注意点

Last updated at Posted at 2025-07-22

この記事ではMsgBox関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。

MsgBox関数の使い方と注意点

MsgBox関数は、メッセージボックスを表示してユーザーに通知したり、入力を求めたりする関数です。
簡単な対話や確認を行う際に非常によく使われます。

構文

MsgBox(プロンプト [, ボタンの種類] [, タイトル] [, ヘルプファイル] [, コンテキスト])
  • プロンプト : 表示するメッセージ文字列(必須)
  • ボタンの種類 : ボタン・アイコンの組み合わせを指定する定数(省略可)
  • タイトル : メッセージボックスのタイトルバーに表示する文字列(省略可)
  • ヘルプファイル/コンテキスト : ヘルプボタン表示時のヘルプファイル情報(省略可)
  • 戻り値 : ユーザーが選択したボタンに応じた定数(VbMsgBoxResult型)

主な「ボタンの種類」定数

定数 表示内容
vbOKOnly 0 vbOkOnly.png
vbOKCancel 1 vbOkCancel.png
vbAbortRetryIgnore 2 vbAbortRetryIgnore.png
vbYesNoCancel 3 vbYesNoCancel.png
vbYesNo 4 vbYesNo.png
vbRetryCancel 5 vbRetryCancel.png

主な「アイコン」定数

定数 表示されるアイコン
vbCritical 16 vbCritical.png
vbQuestion 32 vbQuestion.png
vbExclamation 48 vbExclamation.png
vbInformation 64 vbInformation.png

戻り値の種類

定数 対応するボタン
vbOK 1 OK
vbCancel 2 キャンセル
vbAbort 3 中止
vbRetry 4 再試行
vbIgnore 5 無視
vbYes 6 はい
vbNo 7 いいえ

使用例

単純な通知を表示する(OKボタンのみ)

Sub Sample()
    MsgBox "処理が完了しました。"
End Sub

▶ 出力結果
sample01.png

タイトルとアイコンを指定する

Sub Sample()
    MsgBox "保存が完了しました。", vbInformation, "完了"
End Sub

▶ 出力結果
sample02.png

「はい・いいえ」の確認を取り、分岐する

Sub Sample()
    Dim result As VbMsgBoxResult
    result = MsgBox("削除してもよろしいですか?", vbYesNo + vbQuestion, "確認")

    If result = vbYes Then
        MsgBox "削除します。"
    Else
        MsgBox "キャンセルされました。"
    End If
End Sub

▶ 出力結果
sample03_1.png

  • 「はい」を選択した場合
    sample03_2.png

  • 「いいえ」を選択した場合
    sample03_3.png

⚠️注意

「vbOKOnly」以外を使用する場合は戻り値を受け取るようにする

vbYesNoやvbOKCancelなどを使用する場合、戻り値(選択されたボタン)をMsgBox()から受け取らないと意味がありません。

Sub Sample()
    Dim Answer As VbMsgBoxResult
    Answer = MsgBox("本当に終了しますか?", vbYesNo)
    If Answer = vbYes Then End
End Sub

複数の定数は「+」で組み合わせる

MsgBox("削除してもよろしいですか?", vbYesNo + vbQuestion, "確認")

長いメッセージは改行を入れる

メッセージを複数行にしたい場合は vbCrLf(改行)を使います。

MsgBox "ファイルを保存しました。" & vbCrLf & "続けて別の処理を実行しますか?", vbYesNo

warn.png

関連するVBA関数

  • InputBox関数
  • Debug.Print

その他のVBA関数

【Excel VBA】VBAでよく使う関数一覧&基本の使い方

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?