Excel VBA MsgBoxメッセージボックスのサンプル

Excel VBAの(MsgBox)メッセージボックスのサンプルです。

目次

アイコン ☓(ばつ印)のアイコン(vbCritical)
  ?(はてな)のアイコン(vbQuestion)
  !(びっくりマーク)のアイコン(vbExclamation)
  i(information)のアイコン(vbInformation)
ボタン複数 「OK」と「キャンセル」ボタン(vbOKCancel)
  「中止」と「再試行」と「無視」ボタン(vbAbortRetryIgnore)
  「はい」と「いいえ」と「キャンセル」ボタン(vbYesNoCancel)
  「はい」と「いいえ」ボタン(vbYesNo)
  「再試行」と「キャンセル」ボタン(vbRetryCancel)
  メッセージボックスのタイトル

概要

MsgBoxの引数に定数を指定するとアイコンやボタンを制御できます。
「はい」または「いいえ」のどちらを押されたかも戻り値で判定できます。

以下は、MicrosoftのMsgBox 定数のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/msgbox-constants

☓(ばつ印)のアイコン(vbCritical)

Sub test1()
      MsgBox "こんにちは", vbCritical
End Sub

 

?(はてな)のアイコン(vbQuestion)

Sub test1()
      MsgBox "こんにちは", vbQuestion
End Sub

 

!(びっくりマーク)のアイコン(vbExclamation)

Sub test1()
      MsgBox "こんにちは", vbExclamation
End Sub

 

i(information)のアイコン(vbInformation)

Sub test1()
      MsgBox "こんにちは", vbInformation
End Sub

 

「OK」と「キャンセル」ボタン(vbOKCancel)

Sub test1()
    Dim num1 As Integer
    num1 = MsgBox("こんにちは", vbOKCancel + vbInformation)
    Debug.Print num1 ' 1 or 2
End Sub

iのアイコンが不要な場合は、MsgBoxの引数のvbInformationを削除します。
OKは1、キャンセルは2を返します。

 

「中止」と「再試行」と「無視」ボタン(vbAbortRetryIgnore)

Sub test1()
    Dim num1 As Integer
    num1 = MsgBox("こんにちは", vbAbortRetryIgnore + vbInformation)
    Debug.Print num1 ' 3 or 4 or 5
End Sub

中止は3、再試行は4、無視は5を返します。

 

「はい」と「いいえ」と「キャンセル」ボタン(vbYesNoCancel)

Sub test1()
    Dim num1 As Integer
    num1 = MsgBox("こんにちは", vbYesNoCancel + vbInformation)
    Debug.Print num1 ' 6 or 7 or 2
End Sub

はいは6、いいえは7、キャセルは2を返します。

 

「はい」と「いいえ」ボタン(vbYesNo)

Sub test1()
    Dim num1 As Integer
    num1 = MsgBox("こんにちは", vbYesNo + vbInformation)
    Debug.Print num1 ' 6 or 7
End Sub

はいは6、いいえは7を返します。

 

「再試行」と「キャンセル」ボタン(vbRetryCancel)

Sub test1()
    Dim num1 As Integer
    num1 = MsgBox("こんにちは", vbRetryCancel + vbInformation)
    Debug.Print num1 ' 4 or 2
End Sub

再試行は4、キャンセルは2を返します。

 

メッセージボックスのタイトル

Sub test1()
    MsgBox("こんにちは", vbOKCancel + vbInformation, "テストタイトル")
End Sub

メッセージボックスのタイトルは、MsgBoxの3つめの引数に指定します。

関連の記事

VBA 例外処理のサンプル(Excel/Access)

△上に戻る