仕事に活用できるExcelマクロ

実践的なExcelマクロ、活用方法などを情報発信するサイト

【メッセージ】メッセージボックスを表示する

 Excelマクロにおいて色々なタイプのメッセージボックスの表示方法があります。

 msgBox 変数における定数どうしの組み合わせで多種多様のパターンが作り出せるのですが今回は、その中でも代表的なものを紹介します。

Sub メッセージボックスその1()
'
'シンプルなメッセージを表示する
'
    MsgBox "Excelマクロ"

'
End Sub

  最初に最もシンプルなメッセージボックスのパターンを紹介します。

 msgBox 変数に直接、表示する文字列を組み込んだものです。

Sub メッセージボックスその2()
'
'メッセージボックスにタイトルと改行した文章を表示する
'
    MsgBox "Excelマクロ" & vbCrLf & "「で作業速度アップ」", , "メッセージ"

'
End Sub

  次にメッセージボックスにタイトル文改行した文章を表示するパターンです。

 文字列の間に 「& vbCrLf &」を入れることで改行することができます。

  タイトル文は、msgBox 変数における定数の中で最後尾で指定します。

Sub メッセージボックスその3()
'
'メッセージボックスに変数を組み込んだ場合
'
'変数の宣言 ----------
Dim strWord1 As String
Dim strWord2 As String
Dim strWord3 As String

'変数に文字列を代入する ----------
strWord1 = "Excelマクロ"
strWord2 = "で作業速度アップ"
strWord3 = "メッセージ"

'メインの処理 ----------
    MsgBox strWord1 & vbCrLf & strWord2, , strWord3 & "1"
    
    MsgBox strWord1 & strWord2, , strWord3 & "2"

'
End Sub

  メッセージボックスに変数を組み込んだものです。

 割と使う機会は、多いと思います。

 メッセージボックスは、改行ありとなしの2パターンが表示されます。

Sub メッセージボックスその4()
'
'メッセージボックスで「はい」と「いいえ」を選択する
'
'変数の宣言 ----------
Dim Sel As Integer

'メインの処理 ----------
    Sel = MsgBox("続けますか?", vbYesNo + vbQuestion)
    
    If Sel = vbYes Then
        MsgBox "あなたは、はいを選びました。"
    ElseIf Sel = vbNo Then
        MsgBox "あなたは、いいえを選びました。" & vbCrLf & "これで終わります"
    End If

'
End Sub

  「はい」と「いいえ」のようにメッセージボックスの中で選択ができるようにしたパターンです。

 これも使う機会は多そうです。

Sub メッセージボックスその5()
'
'メッセージでいろいろなタイプのアイコンを表示する
'
    MsgBox "問い合わせです。", vbQuestion, "問い合わせメッセージ"
    
    MsgBox "注意です。", vbExclamation, "注意メッセージ"
    
    MsgBox "情報です。", vbInformation, "情報メッセージ"

'
End Sub

  最後に紹介するのは、メッセージボックスにメッセージのタイプに応じたアイコンを表示するパターンです。

 vbExclamation を指定すると出る注意メッセージのパターンは、表示されるときにWindowsで設定されているサウンドを鳴らします。

 用途によって使い分けるとよいと思います。