『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
目的に応じて、色々なボタンを使い分けてくださいな。

コメント