【Excel VBA】メッセージボックス

■メッセージボックス

ユーザ(使用者)へ情報または確認操作を行ってもらうために、
メッセージボックスを利用する場合がある。
今回は、MsgBox関数のサンプルを示す。

▼ボタンの種類

OKボタン

MsgBox "OKボタン", vbOKOnly

▼サンプルコード(戻り値を取得)

Public Sub main()

    ReturnCode = MsgBox("OKボタン", vbOKOnly)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果(OKボタン押下)

vbOKOnly はOKボタン押下時、「1」を返す。

ボタン押下戻り値
OK1

OK/キャンセルボタン

MsgBox "OK/キャンセルボタン", vbOKCancel

▼サンプルコード(戻り値を取得)

Public Sub main()

    ReturnCode = MsgBox("OK/キャンセルボタン", vbOKCancel)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果( OK/キャンセルボタン 押下)

OKボタン押下時は「1」を返し、キャンセルボタン押下時は「2」を返す。

ボタン押下戻り値
OK1
キャンセル2

はい/いいえボタン

MsgBox "はい/いいえボタン", vbYesNo

▼サンプルコード(戻り値を取得)

Public Sub main()

    ReturnCode = MsgBox("はい/いいえボタン", vbYesNo)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果

はいボタン押下時は「6」、いいえボタン押下時は「7」を返す。

ボタン押下戻り値
はい6
いいえ7

はい/いいえ/キャンセルボタン

MsgBox "はい/いいえ/キャンセルボタン", vbYesNoCancel

▼サンプルコード(戻り値の取得)

Public Sub main()

    ReturnCode = MsgBox("はい/いいえ/キャンセルボタン", vbYesNoCancel)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果

はいボタン押下時は「6」、いいえボタン押下時は「7」、キャンセルボタン押下時は「2」を返す。

ボタン押下戻り値
はい6
いいえ7
キャンセル2

再試行/キャンセルボタン

MsgBox "再試行/キャンセルボタン", vbRetryCancel

▼サンプルコード(戻り値の取得)

Public Sub main()

    ReturnCode = MsgBox("再試行/キャンセルボタン", vbRetryCancel)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果

再試行ボタン押下時は「4」、キャンセルボタン押下時は「2」を返す。

ボタン押下戻り値
再試行4
キャンセル2

中止/再試行/無視ボタン

MsgBox "中止/再試行/無視ボタン", vbAbortRetryIgnore

▼サンプルコード(戻り値の取得)

Public Sub main()

    ReturnCode = MsgBox("中止/再試行/無視ボタン", vbAbortRetryIgnore)
    
    ' 戻り値を表示
    Debug.Print ReturnCode

End Sub

▼実行結果

中止ボタン押下時は「3」、再試行ボタン押下時は「4」、無視ボタン押下時は「5」を返す。

ボタン押下戻り値
中止3
再試行4
無視5

▼ボタン押下時の戻り値一覧

メッセージを出力時のボタン押下処理による戻り値の一覧を表に示す。

ボタン戻り値
OK1
キャンセル2
中止3
再試行4
無視5
はい6
いいえ7

▼アイコンの種類

メッセージを出力する際、ボタンの種類(vbOKOnlyなど)にアイコン情報(vbInformationなど)を付与することでアイコン付きのメッセージを出力することができる。

情報アイコン

MsgBox "情報アイコン", vbOKOnly + vbInformation

注意アイコン

MsgBox "注意アイコン", vbOKOnly + vbExclamation

問い合わせアイコン

MsgBox "問い合わせアイコン", vbOKOnly + vbQuestion

警告アイコン

MsgBox "警告アイコン", vbOKOnly + vbCritical

コメント