【VBA】質問、分岐付きmsgbox、コピペで簡単。

この記事は約6分で読めます。
スポンサーリンク

よく使うけど忘れる。。msgboxの使い方をまとめました。

スポンサーリンク

【VBA】質問付きmsgbox、コピペで簡単。

質問、分岐付きのmsgboxのコード一覧です。
※ダブルクリックでコピーできます。

Sub msgbox1()

    Dim flag As Integer


' vbOKOnly    0   [OK]ボタンのみを表示します

    MsgBox ("AA")
    
'vbOKCancel  1   [OK]ボタンと[キャンセル]ボタンを表示します

    flag = 0
    
    flag = MsgBox("OK" & vbCrLf & "キャンセル?", 1 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
    If flag = 1 Then
        MsgBox "OK"
    ElseIf flag = 2 Then
        MsgBox "キャンセル"
    End If
    

    

'vbAbortRetryIgnore  2   [中止]、[再試行]、および[無視]の3つのボタンを表示します

    flag = 0
    
    flag = MsgBox("中止" & vbCrLf & "再試行" & vbCrLf & "無視", 2 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
    If flag = 3 Then
        MsgBox "中止"
    ElseIf flag = 4 Then
        MsgBox "再試行"
    ElseIf flag = 5 Then
        MsgBox "無視"
    End If


'vbYesNoCancel   3   [はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します

    flag = 0
    
    flag = MsgBox("はい" & vbCrLf & "いいえ" & vbCrLf & "キャンセル", 3 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
    If flag = 6 Then
        MsgBox "はい"
    ElseIf flag = 7 Then
        MsgBox "いいえ"
    ElseIf flag = 2 Then
        MsgBox "キャンセル"
    End If

'vbYesNo 4   [はい]ボタンと[いいえ]ボタンを表示します

    flag = 0
    
    flag = MsgBox("はい" & vbCrLf & "いいえ", 4 + 64) '16:警告 32:問い合わせ 48:注意 64:情報
    If flag = 6 Then
        MsgBox "はい"
    ElseIf flag = 7 Then
        MsgBox "いいえ"
    End If




'vbRetryCancel   5   [再試行]ボタンと[キャンセル]ボタンを表示します

    flag = 0
    
    flag = MsgBox("再試行" & vbCrLf & "キャンセル", 5 + 48) '16:警告 32:問い合わせ 48:注意 64:情報
    If flag = 4 Then
        MsgBox "再試行"
    ElseIf flag = 2 Then
        MsgBox "キャンセル"
    End If


'番外編 INPUTボックス
MOJI = InputBox("質問はここ", "タイトルはここ", "デフォルトの数字はここ")


    
End Sub

プログラム説明

msgboxには、色々な種類があり、判断に迷いますが、
①ただのメッセージ
②2択の質問
③3択の質問
に分けられます。

また、ここで厄介なのが、
質問が2択であれば、返り値は1,2でいいのに、それぞれの値を持っています。

これに限っては、コピペに限ります。
是非下のコードをお使いください。

2択のメッセージ

'vbOKCancel 1 [OK]ボタンと[キャンセル]ボタンを表示します

flag = 0

flag = MsgBox("OK" & vbCrLf & "キャンセル?", 1 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
If flag = 1 Then
    MsgBox "OK"
ElseIf flag = 2 Then
    MsgBox "キャンセル"
End If

'vbYesNo 4 [はい]ボタンと[いいえ]ボタンを表示します

flag = 0

flag = MsgBox("はい" & vbCrLf & "いいえ", 4 + 64) '16:警告 32:問い合わせ 48:注意 64:情報
If flag = 6 Then
    MsgBox "はい"
ElseIf flag = 7 Then
    MsgBox "いいえ"
End If

'vbRetryCancel 5 [再試行]ボタンと[キャンセル]ボタンを表示します

flag = 0

flag = MsgBox("再試行" & vbCrLf & "キャンセル", 5 + 48) '16:警告 32:問い合わせ 48:注意 64:情報
If flag = 4 Then
    MsgBox "再試行"
ElseIf flag = 2 Then
    MsgBox "キャンセル"
End If

3択のメッセージ

'vbAbortRetryIgnore 2 [中止]、[再試行]、および[無視]の3つのボタンを表示します

flag = 0

flag = MsgBox("中止" & vbCrLf & "再試行" & vbCrLf & "無視", 2 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
If flag = 3 Then
    MsgBox "中止"
ElseIf flag = 4 Then
    MsgBox "再試行"
ElseIf flag = 5 Then
    MsgBox "無視"
End If

'vbYesNoCancel 3 [はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します

flag = 0

flag = MsgBox("はい" & vbCrLf & "いいえ" & vbCrLf & "キャンセル", 3 + 32) '16:警告 32:問い合わせ 48:注意 64:情報
If flag = 6 Then
    MsgBox "はい"
ElseIf flag = 7 Then
    MsgBox "いいえ"
ElseIf flag = 2 Then
    MsgBox "キャンセル"
End If

ただのメッセージ

' vbOKOnly 0 [OK]ボタンのみを表示します

MsgBox ("AA")

'番外編 INPUTボックス

MOJI = InputBox("質問はここ", "タイトルはここ", "デフォルトの数字はここ")
スポンサーリンク
スポンサーリンク
マクロVBA
スポンサーリンク
nujonoaをフォローする
nujonoa_blog

コメント欄

タイトルとURLをコピーしました