VBA  MsgBox関数について ~関数の解説と使用例~

ENGINEER.CLUB編集部

ENGINEER.CLUB編集部

ファイルの保存時や様々な場面で、メッセージウィンドウを眼にする機会はあると思います。VBAでも、好きな場面でメッセージやボタンを選んで表示することができます。ここでは、メッセージウィンドウの表示方法について説明してきます。


1.MsgBox関数について

1-1.MsgBox関数とは

MsgBox関数とは、画面に警告やメッセージ等のウィンドウを表示する関数です。

1-2.MsgBox関数の構文

MsgBox [メッセージ] [ボタン&アイコン] [タイトル]

オプションでヘルプファイルを指定できますが、今回は基本的な説明のため省略します。

1-2-1.メッセージ

省略できません。表示させたい文字列を、「」(ダブルクォーテーション)で囲みます。

Sub sample01()
    
    Dim msg As String
    
    msg = "メッセージ本文"
    MsgBox msg, vbOKCancel + vbInformation, "タイトル"
End Sub

1-2-2.ボタン&アイコン

省略可能です。省略した場合は、「vbOKOnly」の状態になります。下記表の定数名、もしくは値を設定します。

・ボタン一覧

定数名表示するボタン
vbOKOnly0
vbOKCancel1
vbAbortRetryIgnore2
vbYesNoCancel3
vbYesNo4
vbRetryCancel5

・アイコン一覧

定数名アイコン表示するボタン
vbCritical16重大なメッセージ
vbQuestion32警告クエリ
vbExclamation48警告メッセージ
vbInformation64情報メッセージ

1-2-3.タイトル

省略可能です。省略した場合は、「Microsoft Excel」と表示されます。


2.MsgBox関数の使用例

2-1.基本的な使用例

Sub sample02()

	MsgBox "メッセージ本文", vbOKCancel + vbInformation, "タイトル"

End Sub

実行結果:

ボタンとアイコンの定数は、どちらを先に設定しても同じ結果になります。

Sub sample03()

    '情報アイコン + ボタン(OK&キャンセル)
    MsgBox "メッセージ本文", vbInformation + vbOKCancel, "タイトル"

End Sub

実行結果:

2-2.特殊な書き方をする場合

メッセージに改行を使う場合。MsgBoxのメッセージで改行を使う場合は、改行をしたい箇所に「vbCrlf」を挿入します。

Sub sample04()

    'メッセージに改行を使う場合
    MsgBox "メッセージ本文で" + vbCrLf + "改行する", vbOKOnly+ vbCritical, "タイトル"

End Sub

実行結果:

メッセージにダブルクォーテーションを使う場合。MsgBoxでダブルクォーテーションを使う場合は、「」を2つ連続で入力します。1つ目の「」は、エスケープシーケンスといい、記号などを表示させるための「おまじない」です。

Sub sample05()

    'メッセージにダブルクォーテーションを使う場合
    MsgBox "メッセージ本文に""ダブルクォーテーション""を使う", vbAbortRetryIgnore + vbQuestion, "タイトル"

End Sub

実行結果:

2-3.その他の使用例

ボタンやアイコンを定数ではなく値を設定しても同じ結果になります。

Sub sample06()

    '情報アイコン「64」 + ボタン(OK&キャンセル)「1」
    MsgBox "メッセージ本文", 64 + 1, "タイトル"

End Sub

実行結果:

アイコンとボタンの値を加算した値を設定しても同じ結果になります。しかし、可読性が下がるので、使う機会は少ないです。

Sub sample07()

    '65= 64(情報アイコン) + 1(ボタン)
    MsgBox "メッセージ本文", 65, "タイトル"

End Sub

実行結果:


3.最後に

メッセージボックスは、「メッセージを表示」するだけではなく、「デバッグで変数値を表示させる」こともできます。様々な用途に使えるので、色々試してみてください。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

公式アカウントLINE限定!ボールドの内定確率が分かる無料診断実施中
公式アカウントLINE限定!
ボールドの内定確率が分かる無料診断実施中