教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでMsgBox関数の使い方

構文

構文は以下の通りです。

MsgBox メッセージ, [ボタンの種類], [タイトル]

解説

MsgBox関数は、「Message Box(メッセージボックス)」の略称です。これは、ユーザーに対してメッセージを表示するための機能です。例えば、データが保存されていない場合に警告メッセージを表示したり、確認メッセージを表示してから処理を進めたりすることができます。また、ユーザーがクリックしたボタンに応じて戻り値を返します。これにより、ユーザーの選択に応じた処理を行うことができます。戻り値の主な種類は以下の通りです。

引数 指定 内容
メッセージ 必須 表示させたいメッセージを指定します。
ボタンの種類 省略可 ボタンの表示方法を指定します。指定しない場合はOKボタンが表示されます。ボタンの種類を以下で紹介します。
タイトル 省略可 メッセージボックスのタイトルを指定します。指定しない場合は「Microsoft Excel」がタイトルになります。

ボタンの種類には以下の設定値が指定できます。

定数 内容
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ボタンを標準ボタンにします。

ボタンの戻り値については以下の通りです。

定数 内容
vbOK 1 [OK]ボタンが押された。
vbCancel 2 [キャンセル]ボタンが押された。
vbAbort 3 [中止]ボタンが押された。
vbRetry 4 [再試行]ボタンが押された。
vbIgnore 5 [無視]ボタンが押された。
vbYes 6 [はい]ボタンが押された。
vbNo 7 [いいえ]ボタンが押された。

プログラミング例

具体的なプログラミング例を紹介します。

(例1)メッセージの表示

Sub メッセージを表示()
    Dim メッセージ As String
    メッセージ = "こんにちは"
    MsgBox メッセージ, vbInformation, "挨拶"
End Sub

上記のプログラムは、「こんにちは」というメッセージをメッセージボックスで表示します。

(例2)戻り値の取得

Sub 続けるか確認()
    Dim ユーザーの選択 As Integer
    ユーザーの選択 = MsgBox("続けますか?", vbYesNo + vbQuestion, "確認")
    If ユーザーの選択 = vbYes Then
        MsgBox "続けることを選びました。", vbInformation, "選択結果"
    Else
        MsgBox "続けることをやめました。", vbExclamation, "選択結果"
    End If
End Sub

上記のプログラムでは、ユーザーに「続けますか?」と尋ね、選択に応じて異なるメッセージを表示します。

まとめ

MsgBox関数は、ユーザーにメッセージを伝えるためのとても便利な機能です。さらに、戻り値を使うことで、ユーザーの選択に応じた動作を実現できます。