よく使うけど忘れる。。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("質問はここ", "タイトルはここ", "デフォルトの数字はここ")
コメント欄