EXCEL VBA Msgboxの使い方 (メッセージボックス・基礎編)
Msgboxの使い方
●はじめに
EXCEL VBAプログラムを作成する上で、メッセージを表示させる事は、いろんな場面で利用されます。内容に応じて「Yes・No」などの判定をすることもできます。それでは、Msgboxの利用方法をサンプルプログラムを使い説明いたします。
【メッセージボックスの応用はこちらを参照】
●書式の説明 【Msgbox関数】
● MsgBoX(Prompt,Buttons,Title)
■Prompt:メッセージを記入(必須)
■Buttons:ボタンの種類・アイコンの種類を指定
■Title:タイトル名を指定
定数 | 値 | アイコン画像 | 説明 |
---|---|---|---|
vbCritical | 16 | ![]() | 警告メッセージのアイコンを表示します。 |
vbQuestion | 32 | ![]() | 問い合わせメッセージアイコンを表示します。 |
vbExclamation | 48 | ![]() | 注意メッセージアイコンを表示します。 |
vbinformation | 64 | ![]() | 情報メッセージアイコンを表示します。 |
定数 | 値 | 表示されるボタンと種類の内容 | 実行画面 |
---|---|---|---|
vbOkonly | 0 | 「OK」ボタンのみ表示 | ![]() |
vbOkCancel | 1 | 「OK」・「キャンセル」を表示 | ![]() |
vbAbortRetryIgnore | 2 | 「中止」・「再試行」・「無視」を表示 | ![]() |
vbYesNoCancel | 3 | 「はい」・「いいえ」・「キャンセル」を表示 | ![]() |
vbYesNo | 4 | 「はい」・「いいえ」を表示 | ![]() |
vbRetryCancel | 5 | 「再試行」・「キャンセル」を表示 | ![]() |
Msgboxの使い方(表示例)
1 2 3 |
Sub msgTest() MsgBox "こんにちは!" End Sub |
●実行結果 ※上記のプログラムを実行した結果が表示されます。(クリックで拡大表示)
Msgboxの使い方(表示例2)
1 2 3 4 5 6 7 |
Sub msgTest2() Dim Ten As Long '変数を定義 Ten = 100 'Tenに100を代入する MsgBox "あなたの点数は" & Ten & "です" End Sub |
●実行結果 ※上記のプログラムを実行した結果が表示されます。 (クリックで拡大表示)
Msgboxの使い方(表示例3:Yes/No判定)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub msgTest3() Dim Hantei As Integer '変数を定義 Hantei = MsgBox("Yes/Noどちらのボタンを押しますか?", vbYesNo) If Hantei = vbYes Then MsgBox "Yesボタンを押しました" 'Yesボタンを押した場合の処理をする Else MsgBox "Noボタンを押しました" 'Noボタンを押した場合の処理をする End If End Sub |
●実行前 ※メッセージボックスが表示されます。(はい・いいえ) (クリックして拡大)
●実行後 ※メッセージボックス(Msgbox)の「はい」クリックしましたので、「Yes(はい)を押しました」が表示されました。
(クリックして拡大)
(クリックして拡大)
Msgboxの定数 :MsgBoX(Prompt,Buttons,Title)
●定数の説明 (Buttons)
MsgBoXは、色々な定数を組み合わせる事により、「OK」・「はい」・「いいえ」など様々なボタンを設置する事ができます。下記にMsgBoxで表現できる一覧を下記にまとめました。
定数 | 値 | 表示されるボタンと種類の内容 | 実行画面 |
---|---|---|---|
vbOkonly | 0 | 「OK」ボタンのみ表示 | ![]() |
vbOkCancel | 1 | 「OK」・「キャンセル」を表示 | ![]() |
vbAbortRetryIgnore | 2 | 「中止」・「再試行」・「無視」を表示 | ![]() |
vbYesNoCancel | 3 | 「はい」・「いいえ」・「キャンセル」を表示 | ![]() |
vbYesNo | 4 | 「はい」・「いいえ」を表示 | ![]() |
vbRetryCancel | 5 | 「再試行」・「キャンセル」を表示 | ![]() |
●上記表を実行するプログラムは、下記の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub msgbox_sample() MsgBox "処理を実行しますか?", vbOKOnly MsgBox "処理を実行しますか?", vbOKCancel MsgBox "処理を実行しますか?", vbAbortRetryIgnore MsgBox "処理を実行しますか?", vbYesNoCancel MsgBox "処理を実行しますか?", vbYesNo MsgBox "処理を実行しますか?", vbRetryCancel End Sub |
Msgboxボタンの戻り値 (選択した戻り値)
●ボタンの戻り値の説明
Msgboxボタンの戻り値の説明をいたします。下表はMsgBoxのボタンを押した時の戻り値一覧です。
定数 | 内容説明 | 戻り値 |
---|---|---|
vbOK | 「OK」ボタンを押すと | 1 |
vbCancel | 「キャンセル」ボタンを押すと | 2 |
vbAbort | 「中止」ボタンを押すと | 3 |
vbRetry | 「再試行」ボタンを押すと | 4 |
vbIgnore | 「無視」ボタンを押すと | 5 |
vbYes | 「はい」ボタンを押すと | 6 |
vbNo | 「いいえ」ボタンを押すと | 7 |
●下記のプログラムは、押したボタンを戻り値で判断して説明していますが、「定数:vbOK」でも同じ事になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
Sub msgbox_sample2() Dim RetMsg As Integer '---------------- OK の場合--------------------------------- RetMsg = MsgBox("処理を実行しますか?", vbOKOnly) If RetMsg = 1 Then MsgBox "「OK」ボタンが押されました" End If '---------------- OK・キャンセルの場合---------------------- RetMsg = MsgBox("処理を実行しますか?", vbOKCancel) If RetMsg = 1 Then MsgBox "「OK」ボタンが押されました" ElseIf RetMsg = 2 Then MsgBox "「キャンセル」ボタンが押されました" Else MsgBox "その他ボタンが押されました" End If '---------------- 中止・再試行・無視の場合------------------ RetMsg = MsgBox("処理を実行しますか?", vbAbortRetryIgnore) If RetMsg = 3 Then MsgBox "「中止」ボタンが押されました" ElseIf RetMsg = 4 Then MsgBox "「再試行」ボタンが押されました" ElseIf RetMsg = 5 Then MsgBox "「無視」ボタンが押されました" Else MsgBox "その他ボタンが押されました" End If '---------------- はい・いいえ・キャンセルの場合----------- RetMsg = MsgBox("処理を実行しますか?", vbYesNoCancel) If RetMsg = 6 Then MsgBox "「はい」ボタンが押されました" ElseIf RetMsg = 7 Then MsgBox "「いいえ」ボタンが押されました" ElseIf RetMsg = 2 Then MsgBox "「キャンセルボタン」が押されました" Else MsgBox "その他ボタンが押されました" End If '---------------- はい・いいえの場合---------------------- RetMsg = MsgBox("処理を実行しますか?", vbYesNo) If RetMsg = 6 Then MsgBox "「はい」ボタンが押されました" ElseIf RetMsg = 7 Then MsgBox "「いいえ」ボタンが押されました" Else MsgBox "その他ボタンが押されました" End If '--------------- 再試行・キャンセルの場合----------------- RetMsg = MsgBox("処理を実行しますか?", vbRetryCancel) If RetMsg = 4 Then MsgBox "「再試行」ボタンが押されました" ElseIf RetMsg = 2 Then MsgBox "「キャンセル」ボタンが押されました" Else MsgBox "その他ボタンが押されました" End If End Sub |
最後まで、ご覧いただきまして誠に有難うございました。
MsgBoxの使い方でした。条件により色々使い分けが出来ますので、状況により使い分けて下さい。更に、Msgbox関数を活用したい方↓
●Msgbox関数の応用編については、下記のURLを参照して下さい。
MsgBoxの使い方でした。条件により色々使い分けが出来ますので、状況により使い分けて下さい。更に、Msgbox関数を活用したい方↓
●Msgbox関数の応用編については、下記のURLを参照して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。