『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【VBA】MsgBox関数でメッセージを表示します

この記事では VBAMsgBox 関数 の使い方を説明します。MsgBox は Message Box の略です。読んで字のごとく、メッセージを表示させる関数です。MsgBox 関数を使うと、ユーザーさんに「このマクロを実行する?」と確認してから、処理を行わせるマクロを作ることができます。

【VBA】MsgBox関数

まず最初に単純にメッセージを表示するだけのプロシージャを書いてみます。MsgBox 関数の引数に、表示したい文字列をダブルクォーテーション (“) で囲って指定します。

'[VBA] メッセージを表示するサブルーチン
Sub MsgBox_Test_1()
  MsgBox "「言葉の工房あとりえこばと」にようこそ!"
End Sub

MsgBox_Test_1() を実行すると次のようなダイアログボックスが現れます。
 
VBA MsgBox関数 あとりえこばとにようこそ!
 
しかし、MsgBox 関数の使い方はこれだけではありません。2つめの引数でボタンを配置して、ユーザーさんに [Yes] か [No] を押してもらうようなダイアログボックスを表示させることができます。たとえば、こんなマクロです。

'[VBA] メッセージの表示確認

Sub MsgBox_Test_2()

  Dim mytitle As String
  Dim myquestion As String
  Dim mymsg As String
  Dim mybtn As Integer

  mytitle = "メッセージの表示確認"
  myquestion = "メッセージを表示する?"
  mymsg = "「言葉の工房あとりえこばと」にようこそ!"

  mybtn = MsgBox(myquestion, vbYesNo, mytitle)

  'Yesボタンが押された時にメッセージを表示します
  If mybtn = vbYes Then
    MsgBox mymsg
  End If

End Sub

MsgBox_Test_1() を実行すると次のようなダイアログボックスが現れます。
 
VBA MsgBox関数 メッセージの表示確認
 
ユーザーさんが「はい(Y)」を押すと …
 
VBA MsgBox関数 あとりえこばとにようこそ!
 
このようにメッセージが表示されます。
「いいえ (N)」を押すと何も起こらずに、そのまま終了します。

上のプロシージャでは MsgBox 関数の2つめの引数に vbYesNo という種類のボタンを指定しました。MsgBox 関数では、他にも次のようなボタンを配置することができます。
 
vbOKOnly
MsgBox関数 vbokonly
 
vbOKCancel
MsgBox関数 vbokcancel
 
vbYesNoCancel
MsgBox関数 vbYesNoCancel
 
vbRetryCancel
MsgBox関数 vbRetryCancel
 
vbAbortRetryIgnore
MsgBox関数 vbAbortRetryIgnore
目的に応じて、色々なボタンを使い分けてくださいな。

コメント

  1. あとりえこばと より:

    【AI解説】VBAのMsgBoxの使い方

    [ChatGPT] VBAのMsgBox関数は、メッセージボックスを表示するために使用されます。メッセージボックスは、ユーザーに情報を表示したり、質問を投げかけたりするためのポップアップウィンドウです。以下では、MsgBox関数の使い方について、基本的な概念と具体的な例を示します。
     
    MsgBox関数は、以下のような形式で使用します。 
    MsgBox(メッセージ [, ボタンタイプ] [, タイトル])

    上記のコードでは、以下の要素を使用してメッセージボックスを作成します。
     
    ・メッセージ: 表示したいメッセージを指定します。文字列として渡すことができます。
    ・ボタンタイプ(オプション): メッセージボックスに表示するボタンの種類を指定します。省略するとデフォルトのボタン(OKボタン)が表示されます。
    ・タイトル(オプション): メッセージボックスのタイトルバーに表示するタイトルを指定します。省略するとタイトルは表示されません。
     
    以下に、具体的な例を示します。

    Sub メインプロシージャ()
        MsgBox "こんにちは、世界!", vbInformation, "挨拶"
    End Sub

    上記の例では、メッセージボックスに「こんにちは、世界!」というメッセージが表示されます。ボタンタイプにはvbInformationを使用しており、メッセージボックスに情報アイコンとOKボタンが表示されます。また、タイトルには「挨拶」が表示されます。MsgBox関数では、ボタンタイプとして以下の定数を使用することができます。

    vbOKOnly: OKボタンのみ表示します。
    vbOKCancel: OKボタンとキャンセルボタンを表示します。
    vbAbortRetryIgnore: 中止、再試行、無視の3つのボタンを表示します。
    vbYesNoCancel: Yes、No、キャンセルの3つのボタンを表示します。
    vbYesNo: YesとNoの2つのボタンを表示します。
    vbRetryCancel: 再試行とキャンセルの2つのボタンを表示します。

    これらの定数は、ボタンタイプの引数としてMsgBox関数に渡すことができます。また、ボタンタイプの他にも、以下の定数を使用してアイコンスタイルを指定することもできます。

    vbCritical: エラーを示すクリティカルなアイコンを表示します。
    vbQuestion: 質問を示すアイコンを表示します。
    vbExclamation: 警告を示すアイコンを表示します。
    vbInformation: 情報を示すアイコンを表示します。

    これらの定数も、アイコンスタイルの引数としてMsgBox関数に渡すことができます。以上が、VBAのMsgBox関数の基本的な使い方です。この関数を使用することで、メッセージボックスを表示してユーザーとの対話を行うことができます。