この記事では VBA の MsgBox 関数 の使い方を説明します。MsgBox は Message Box の略です。読んで字のごとく、メッセージを表示させる関数です。MsgBox 関数を使うと、ユーザーさんに「このマクロを実行する?」と確認してから、処理を行わせるマクロを作ることができます。
【VBA】MsgBox関数
まず最初に単純にメッセージを表示するだけのプロシージャを書いてみます。MsgBox 関数の引数に、表示したい文字列をダブルクォーテーション (“) で囲って指定します。
'[VBA] メッセージを表示するサブルーチン Sub MsgBox_Test_1() MsgBox "「言葉の工房あとりえこばと」にようこそ!" End Sub
MsgBox_Test_1() を実行すると次のようなダイアログボックスが現れます。
しかし、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() を実行すると次のようなダイアログボックスが現れます。
ユーザーさんが「はい(Y)」を押すと …
このようにメッセージが表示されます。
「いいえ (N)」を押すと何も起こらずに、そのまま終了します。
上のプロシージャでは MsgBox 関数の2つめの引数に vbYesNo という種類のボタンを指定しました。MsgBox 関数では、他にも次のようなボタンを配置することができます。
vbOKOnly
vbOKCancel
vbYesNoCancel
vbRetryCancel
vbAbortRetryIgnore
目的に応じて、色々なボタンを使い分けてくださいな。
コメント
【AI解説】VBAのMsgBoxの使い方
[ChatGPT] VBAのMsgBox関数は、メッセージボックスを表示するために使用されます。メッセージボックスは、ユーザーに情報を表示したり、質問を投げかけたりするためのポップアップウィンドウです。以下では、MsgBox関数の使い方について、基本的な概念と具体的な例を示します。
MsgBox関数は、以下のような形式で使用します。
MsgBox(メッセージ [, ボタンタイプ] [, タイトル])
上記のコードでは、以下の要素を使用してメッセージボックスを作成します。
・メッセージ: 表示したいメッセージを指定します。文字列として渡すことができます。
・ボタンタイプ(オプション): メッセージボックスに表示するボタンの種類を指定します。省略するとデフォルトのボタン(OKボタン)が表示されます。
・タイトル(オプション): メッセージボックスのタイトルバーに表示するタイトルを指定します。省略するとタイトルは表示されません。
以下に、具体的な例を示します。
上記の例では、メッセージボックスに「こんにちは、世界!」というメッセージが表示されます。ボタンタイプには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関数の基本的な使い方です。この関数を使用することで、メッセージボックスを表示してユーザーとの対話を行うことができます。