ExcelマクロVBA関数 | MsgBox関数 | Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説



最終更新日:2013-09-05

MsgBox関数


MsgBox関数は、ダイアログ ボックスにメッセージを表示し、
ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す値を返します。


MsgBox関数

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

prompt

必ず指定します。ダイアログ ボックス内にメッセージとして表示する文字列を示す文字列式を指定します。

名前付き引数 prompt に指定できる最大文字数は、1 バイト文字で約 1,024 文字です。

ただし、使う文字の文字幅に依存します。

名前付き引数 prompt に複数行を指定する場合は、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、またはキャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) を改行する位置に挿入し、行を区切ってください。

buttons

省略可能です。表示されるボタンの種類と個数、使用するアイコンのスタイル、標準ボタン、メッセージ ボックスがモーダルかどうかなどを表す値の合計値を示す数式を指定します。

省略すると、名前付き引数 buttons の既定値 0 になります。

title

省略可能です。ダイアログ ボックスのタイトル バーに表示する文字列を示す文字列式を指定します。

名前付き引数 title を省略すると、タイトル バーにはアプリケーション名が表示されます。

helpfile

省略可能です。ダイアログ ボックスに状況依存のヘルプを設定するために、使用するヘルプ ファイルの名前を示す文字列式を指定します。

この引数は、表示するダイアログ ボックスの説明をヘルプを使って表示するときに指定します。

名前付き引数 helpfile を指定した場合は、引数 context も指定する必要があります。

context

省略可能です。

ヘルプ トピックに指定したコンテキスト番号を表す数式を指定します。

名前付き引数 context を指定した場合は、引数 helpfile も指定する必要があります。


名前付き引数です。

名前付き引数とは、あらかじめ定義された名前を持つ引数。

名前付き引数を使用すると、構文どおりに指定された順序で各引数に値を指定しなくても、任意の順序で値を設定することができます。

※名前付き引数については、第25回.名前付き引数について

しかし、MsgBox関数では、名前付き引数を使わずに、順番通りに指定する事の方が多いでしょう。

buttonsの定数

グループ 定数 内容
ボタンの種類 vbOKOnly 0 [OK] ボタンのみを表示します。
vbOKCancel 1 [OK] ボタンと [キャンセル] ボタンを表示します。
vbAbortRetryIgnore 2 [中止]、[再試行]、および [無視] の 3 つのボタンを表示します。
vbYesNoCancel 3 [はい]、[いいえ]、および [キャンセル] の 3 つのボタンを表示します。
vbYesNo 4 [はい] ボタンと [いいえ] ボタンを表示します。
vbRetryCancel 5 [再試行] ボタンと [キャンセル] ボタンを表示します。
アイコンの種類 vbCritical 16 警告メッセージ アイコンを表示します。
vbQuestion 32 問い合わせメッセージ アイコンを表示します。
vbExclamation 48 注意メッセージ アイコンを表示します。
vbInformation 64 情報メッセージ アイコンを表示します。
標準ボタン vbDefaultButton1 0 第 1 ボタンを標準ボタンにします。
vbDefaultButton2 256 第 2 ボタンを標準ボタンにします。
vbDefaultButton3 512 第 3 ボタンを標準ボタンにします。
vbDefaultButton4 768 第 4 ボタンを標準ボタンにします。
その他 vbApplicationModal 0 アプリケーション モーダルに設定します。メッセージ ボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません。
vbSystemModal 4096 システム モーダルに設定します。メッセージ ボックスに応答するまで、すべてのアプリケーションが中断されます。
vbMsgBoxHelpButton 16384 ヘルプ ボタンを追加します。
VbMsgBoxSetForeground 65536 最前面のウィンドウとして表示します。
vbMsgBoxRight 524288 テキストを右寄せで表示します。
vbMsgBoxRtlReading 1048576 テキストを、右から左の方向で表示します。


その他は使用する必要はないでしょう。

各グループから値を 1 つずつ選択して加算した合計値を指定します。
メッセージ内容、ボタンの種類、アイコンの種類は、組み合わせを考慮しましょう。

戻り値の定数

定数 説明
vbOK 1 [OK]
vbCancel 2 [キャンセル]
vbAbort 3 [中止]
vbRetry 4 [再試行]
vbIgnore 5 [無視]
vbYes 6 [はい]
vbNo 7 [いいえ]



例文です。

MsgBox "出来ました。"



メッセージのみ指定した場合です。
「OK」ボタンだけが表示されます。

MsgBox "出来ました。" & vbLf & "よかった"




ヘルプでは

複数行を指定する場合は、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、またはキャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) を改行する位置に挿入し、行を区切ってください。

となっていますが、

キャリッジ リターン (Chr(13))は、VbCr
ライン フィード (Chr(10))は、VbLf
キャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) は、VbCrLf

になります。

どれを使っても、この場合は同じですが、VbLfで良いでしょう。 

MsgBox "出来ました。", vbOKOnly, "タイトル"



メッセージと、ボタンの種類と、タイトルを指定した場合です。

タイトルの出方を確認して下さい。

Dim rtn As Integer
rtn = MsgBox("出来ましたか?", vbYesNo + vbQuestion + vbDefaultButton2, "確認")
Select Case rtn '押されたボタンの確認
  Case vbYes
    MsgBox "「はい」が押されました。"
  Case vbNo
    MsgBox "「いいえ」が押されました。"
End Select



ボタンの種類を、「はい」「いいえ」

アイコンの種類を、問い合わせアイコン

標準ボタンを、2番目のボタン

メッセージボクスの出方を確認して下さい。

押されたボタンを、戻り値で確認しています。

戻り値を取得する為、= MsgBox

とした場合は、引数を()括弧でくくります。


※VBA関数一覧




同じテーマ「ExcelマクロVBA関数」の記事

Shell関数
DateDiff関数
Array関数
Filter関数
Join関数
LBound関数
UBound関数

新着記事 ・・・新着記事一覧を見る

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • MsgBox関数

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP