MsgBox †
簡単なメッセージ表示であれば、わざわざUserFormを作らなくてもメッセージボックス(MsgBox)が便利です。
- ) MsgBox関数の書式:
MsgBox(prompt[, buttons] [, title] [, helpfile, context]) As Integer
パラメータの意味:
| パラメータ | データ型 | 説明 |
| prompt | String | ダイアログ ボックス内に表示する文字列式を指定。注1 |
| buttons | Long | 表示されるボタンの種類と個数、アイコンなどを表す値の合計値を指定 |
| title | String | ダイアログ ボックスのタイトル バーに表示する文字列を指定 |
| helpfile | String | ヘルプファイルを指定。通常エラー変数のErr.HelpFileを指定 |
| context | Long | ヘルプ トピックに指定したコンテキスト番号を指定。通常エラー変数のErr.HelpContextを指定 |
注1:表示できる最大文字数は、1 バイト文字で約 1,024 文字です。複数行で表示したい場合は、Chr(13)(=CR)、Chr(10)(=LF)または(Chr(13) & Chr(10) (=CR &LF) で改行してください。
- ) Buttonの定数
以下で値が0のものがデフォルトです。つまり設定しなければ、
[OK] ボタンのみを表示し、第 1 ボタンがデフォルト(ボタンが1つだけですが)、アイコンなし、アプリケーション モーダルとなります。
| 定数 | 値 | 内容 |
| ボタンの種類の定数 | | |
| vbOKOnly | 0 | [OK] ボタンのみを表示します。 |
| vbOKCancel | 1 | [OK] と [キャンセル] のボタンを表示します。 |
| vbAbortRetryIgnore | 2 | [中止]、[再試行]、および [無視] のボタンを表示します。 |
| vbYesNoCancel | 3 | [はい]、[いいえ]、および [キャンセル] のボタンを表示します。 |
| vbYesNo | 4 | [はい] と [いいえ] のボタンを表示します。 |
| vbRetryCancel | 5 | [再試行] と [キャンセル] のボタンを表示します。 |
| vbMsgBoxHelpButton | 16384 | ヘルプ ボタンを追加します。 |
| アイコンの種類の定数 | | 注2 |
| 0 | アイコンを表示しません。 |
| vbCritical | 16 | 警告メッセージ アイコンを表示します。 |
| vbQuestion | 32 | 問い合わせメッセージ アイコンを表示します。 |
| vbExclamation | 48 | 注意メッセージ アイコンを表示します。 |
| vbInformation | 64 | 情報メッセージ アイコンを表示します。 |
| ボタンのデフォルト定数 | | 表示された時にカーソルのあるボタン位置。注3 |
| vbDefaultButton1 | 0 | 第 1 ボタンをデフォルトとします。 |
| vbDefaultButton2 | 256 | 第 2 ボタンをデフォルトとします。 |
| vbDefaultButton3 | 512 | 第 3 ボタンをデフォルトとします。 |
| vbDefaultButton4 | 768 | 第 4 ボタンをデフォルトとします。 |
| その他の定数 | | |
| vbApplicationModal | 0 | アプリケーション モーダルにし、Excelの操作をできなようにします。 |
| vbSystemModal | 4096 | システム モーダルし、すべてのアプリケーションが操作できないようにします。 |
| VbMsgBoxSetForeground | 65536 | 最前面のウィンドウとして表示します。 |
| vbMsgBoxRight | 524288 | テキストを右寄せで表示します。 |
| vbMsgBoxRtlReading | 1048576 | テキストを、右から左の方向で表示します。 |
注2:複数設定された場合は合計値のアイコンが表示され、合計値が一致しない場合は、アイコンが表示されません。
注3:複数設定された場合は合計値のボタンが表示され、合計値が一致しない場合は、第 1 ボタンがデフォルトになります。
- ) アイコンの例
定数をダイアログ ボックスのタイトルに表示しています。

- ) 戻り値
| 定数 | 値 | 説明 |
| vbOK | 1 | OK |
| vbCancel | 2 | キャンセル |
| vbAbort | 3 | 中止 |
| vbRetry | 4 | 再試行 |
| vbIgnore | 5 | 無視 |
| vbYes | 6 | はい |
| vbNo | 7 | いいえ |
- ) 使用例
エラー処理での使用例 → example304
次のサンプルはOKとキャンセルのボタンを表示しその結果で処理を分けます。
Public Sub example1801()
Dim result As Integer
result = MsgBox("終了しますか?", _
vbQuestion + vbOKCancel + vbApplicationModal + vbDefaultButton1, _
"終了確認")
If result = vbOK Then
End
ElseIf result = vbCancel Then
'NOP
End If
End Sub