ExcelのVBAを使用したメッセージボックスの使い方
ExcelのVBAでは必ずというほどメッセージボックスを使用する場面が多くあります。
簡単でシンプルな使い方もあればアイコンを使用した方法など、知っていると便利な使い方がたくさんあります。
そこでこの記事ではVBAを使用したメッセージボックスの使い方を紹介します。
慣れてくるととても便利なので、この記事を読みながら実際にコードを入力していきましょう。
目次
メッセーボックスを使うと何ができる?
上の画像で「おはよう」と記載しているように、自分で考えたメッセージを簡単に作成することができます。
また、アイコンやメッセージタイトルを設定することもできますし、「はい」と「いいえ」のように選択形式を変更することも出来ます。
メッセージボックスの使い方
まずは一番シンプルなメッセージボックスの使い方を紹介します。以下のVBAコードをコピペしましょう。
1 2 3 |
Sub test() MsgBox "おはよう" End Sub |
msgboxがメッセージボックスを表し、””の中に好きな文字を入れることでメッセージを入れることができます。
今回は標準モジュールに入れました。
ユーザーフォームの場合もメッセージボックスを使用することができます。
メッセージボックスの種類
続いて、メッセージボックスの種類について紹介します。
アイコンの種類
以下のコードをコピペしましょう。
1 2 3 |
Sub test() MsgBox "おはよう", vbQuestion End Sub |
上記のコードでアイコンが設定できます。
アイコンは4種類標準で変更することができ、最後のコードを以下のように変更することで設定できます。
vbCritical | ✖印。警告を表示。 |
vbExclamation | !マーク。注意を表示。 |
vbQuestion | ?マーク。お問合せなど。 |
vbInformation | iマーク。情報を表示。 |
以下の画像を見ると参考になります。
ボタンの種類
ボタンを6つ紹介します。
vbOKOnly | OKのみ |
vbOKCancel | OKとキャンセル |
vbAbortRetryIgnore | 中止、再試行、無視 |
vbYesNoCancel | はい、いいえ、キャンセル |
vbYesNo | はい、いいえ |
vbRetryCancel | 再試行、キャンセル |
VBAコードの際はボタンの種類+アイコンで設定できます。
以下のコードを入力すると、OKとキャンセルボタンが表示されます。
1 2 3 |
Sub test() MsgBox "おはよう", vbOKCancel + vbInformation End Sub |
画像と照らし合わせると以下のようになります。
メッセージボックスにタイトル設定
タイトルを設定する場合は以下のように、最後に””で囲みながら入力することで好きなタイトルを設定できます。
1 2 3 |
Sub test() MsgBox "おはよう", vbYesNo + vbInformation, "タイトル" End Sub |
IFを使用したメッセージボックスの使用例
IFを使用することで条件分岐が可能です。
以下のコードをコピペしましょう。
1 2 3 4 5 6 7 8 9 10 11 |
Sub test() Dim 確認 As Integer 確認 = MsgBox("おはよう", vbYesNo + vbInformation, "タイトル") If 確認 = vbYes Then MsgBox "おはようです" Else MsgBox "おはようではありません" End If End Sub |
はいを選択するかいいえを選択するかでその後のメッセージが変わります。
メッセージボックスで改行する
改行する場合は以下のVBAコードを参考にしましょう。
1 2 3 |
Sub test() MsgBox "おはよう" & vbCrLf & "よろしくお願いします!" End Sub |
& vbCrLf & で改行し、その後””の中に好きな文字を入力することで改行後の文字を設定できます。
メッセージボックスのデフォルトボタンの設定
実は最初に「はい」か「いいえ」のどちらを選択するか設定することも出来ます。
1 2 3 |
Sub test() MsgBox "おはよう", vbOKCancel + vbInformation + vbDefaultButton2, "タイトル" End Subぼ |
ボタンの1~4を変更することで、左から数えて好きなボタンを初期設定できます。
CaSe(ケース)を使用した条件分岐
IFを使用した方法以外にも、メッセージボックスの条件分岐でよく使われるのがCaSeです。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub test() Dim 確認 As Integer 確認 = MsgBox("おはよう", vbYesNo + vbInformation, "タイトル") Select Case 確認 Case vbYes MsgBox "おはようです" Case vbNo MsgBox "おはようではありません" End Select End Sub |
条件によって様々な実行条件を設定するとき、Caseを使用した場合の方がVBAコードが見やすくなることもあります。
いろいろと使ってみて試してみましょう。
まとめ
今回はVBAを使用したメッセージボックスの使い方について紹介しました。
私の場合は最初シンプルな方法で練習し、慣れてきたらアイコンを使用していきました。
アイコンが無い方が分かりやすいこともありますので、まずはメッセージボックスのシンプルな方法から試してみるのもおすすめです。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
以下のExcel記事もおすすめです。