Excelはビジネスでも使用頻度が非常に高く、日々の業務でエクセルを使っている人も多いと思います。
マクロや VBA を使うことで、人為的なエラーを減らし、繰り返し的なタスクや繰り返し実行する必要のある作業・処理を自動化することができます。
これにより、時間と労力を節約できるため、作業効率のアップが可能です。
VBAには様々なステートメントや関数がありますが、情報を表示し、ユーザーとの対話を行うのに役立つのが、MsgBox(メッセージボックス)です。
メッセージボックスを使用して、重要な情報や指示を表示することができ、作業手順や方針の伝達を効果的に行うことができます。
そこで、今回の記事では、VBAでメッセージボックスを作成する方法や文字の表示、ボタンやアイコンの設定方法を詳しく解説します。
この他、マクロとVBAの違いやマクロの組み方の基本やボタンの作成方法など、マクロやVBA関連の記事は、下記で紹介していますので、ぜひ参考になさってください。
初心者向け|エクセルのマクロの作り方・使い方・ボタンの作成まで解説
ExcelのMsgBox関数って難しい…
そんなお悩み、当教室のレッスンで一気に解決できます。
✔ 基本操作からしっかり学べる
✔ 「見てマネするだけ」で自然と覚えられる
✔ わからないところはすぐ質問できるから安心
文字を読むのが苦手でも大丈夫。
「実践重視のレッスン」+「元パソコンが苦手だった講師のサポート」で、着実に「感覚としてExcelに慣れていく」ようになります。
詳細は下記をご覧ください。
「メッセージボックス」とは?
「メッセージボックス」はVBAでは「MsgBox」と記述します。
メッセージボックスとは、エクセルでよく見かけるダイアログボックスで、よく見るのは、データを保存していないのに閉じようとしたとき、
「変更内容を保存しますか?」
「保存」「保存しない」「キャンセル」
というメッセージが表示されるのを見たことがあると思います。これがメッセージボックスです。
メッセージボックスを活用することで、処理を分けることができるので、VBAではよく使われますし、簡単なものであれば初心者の方にも使いやすいです。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
MsgBox関数の使い方
VBAでメッセージボックスを表示させるためには、MsgBox関数を使用します。
シンプルな記述は下記のようなものがあります。
Sub 確認()
MsgBox "正しいコードを入力してください"
End Sub
先ほどのコードを記述すると、このようなメッセージボックスを表示することができます。
表示させたいメッセージは、ダブルクォーテーションで囲むことが必要です。
MsgBox関数の構文
MsgBox関数の構文は下記のようになります
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
引数は、最大で5つになります。
prompt(必須)
表示するメッセージやテキストを指定します。
buttons(省略可能)
メッセージボックスに表示されるボタンの種類を指定します。
title(省略可能)
メッセージボックスのタイトルバーに表示されるテキストが指定されます。
helpfile(省略可能)
ヘルプファイルのパスを指定します。通常は使用されません。
context(省略可能)
ヘルプファイル内のコンテキスト番号が指定されます。通常は使用されません。
ボタンの種類の指定の仕方
上記の例では、「OK」ボタンが表示されていますが、このボタンの種類を他の種類のボタンに変えることができます。
ボタンの種類を指定するときは、「定数」または「値」で指定することが可能です。
【ボタンの種類 一覧】
定数 | 値 | 説明 |
vbOKOnly | 0 | 「OK」 ボタンのみを表示。 |
vbOKCancel | 1 | 「OK」 ボタンと 「キャンセル」 ボタンを表示。 |
vbAbortRetryIgnore | 2 | 「中止」、「再試行」、「無視」 の各ボタンを表示。 |
vbYesNoCancel | 3 | 「はい」、「いいえ」、「キャンセル」 の各ボタンを表示。 |
vbYesNo | 4 | 「はい」 ボタンと 「いいえ」 ボタンを表示。 |
vbRetryCancel | 5 | 「再試行」 ボタンと 「キャンセル」 ボタンを表示。 |
このようになります。
記述の例
今回は、一覧の中から「vbYesNo」の「はい」 と 「いいえ」 ボタンを表示させてみましょう。
Sub 確認()
MsgBox "詳細を確認しますか?", vbYesNo
End Sub
または
Sub 確認()
MsgBox "詳細を確認しますか?", 4
End Sub
このように記述することができます。
例のように記述すると
このように「はい」と「いいえ」のボタンを表示させることができます。
アイコンの種類の指定の仕方
上記の例では、アイコンが表示されていませんが、内容に応じてアイコンを表示させることも可能です。
アイコンの種類を指定するときは、「定数」または「値」で指定することが可能です。
【アイコンの種類 一覧】
定数 | 値 | 説明 |
vbCritical | 16 | 「重大なメッセージ」 アイコンを表示。 |
vbQuestion | 32 | 「警告クエリ」 アイコンを表示。 |
vbExclamation | 48 | 「警告メッセージ」 アイコンを表示。 |
vbInformation | 64 | 「情報メッセージ」 アイコンを表示。 |
このようになります。
記述の例
今回は一覧の中から「vbExclamation」の警告メッセージアイコンを表示させてみましょう。
Sub 確認()
MsgBox "正しいコードを入力してください", vbExclamation
End Sub
このように記述することができます。
例のように記述すると
このように注意メッセージ用のアイコンを表示させることができます。
ボタンの種類とアイコンを同時に記述する方法
構文にもあるように、ボタンの種類とアイコンは両方とも同時に指定することが可能です。
このようになります。
記述の例
今回は一覧の中から、「vbRetryCancel」を使って、「再試行」と 「キャンセル」 ボタンを表示させ、さらに同時に、「vbExclamation」の警告メッセージアイコンを表示させてみましょう。
Sub 確認()
MsgBox "正しいコードを入力してください", vbRetryCancel + vbExclamation
End Sub
または
Sub 確認()
MsgBox "正しいコードを入力してください", 5 + 48
End Sub
このように記述することができます。
例のように記述すると
ボタンの種類とアイコンの種類を同時に記述することが可能です。
「値」を利用した指定方法
ボタンの種類とアイコンの種類を指定する際に、「定数」と「値」のいずれかを選択することができますが、「値」の記述には2つの記述パターンがあります。
【パターン①】
Sub 確認()
MsgBox "正しいコードを入力してください", 5 + 48
End Sub
→こちらの記述では、それぞれの値を入力しています。
【パターン②】
Sub 確認()
MsgBox "正しいコードを入力してください", 53
End Sub
→こちらの記述では、それぞれの値を足した値で記述しています。
いずれの場合も、同じメッセージボックスを表示させることができますが、値を合計してしまうと、あとから見直したときに分かりにくいなどのデメリットがあるので、記述する際は、それぞれの値を入力してわかりやすくしておくのがオススメです。
メッセージボックスのタイトルを指定する方法
例えば、先ほどのこちらのメッセージボックスですが、メッセージボックスの左上が「Microsoft Excel」になっているのがわかります。
今、「Microsoft Excel」と表示されている位置がタイトルの位置になります。
記述の例
今回はメッセージボックスの左上に「コードエラー」というタイトルを表示させます。
Sub 確認()
MsgBox "正しいコードを入力してください", vbRetryCancel + vbExclamation, "コードエラー"
End Sub
先ほどの記述にさらにタイトルを追加してみましょう。
タイトルは文字列なのでダブルクォーテーションで囲みます。
例のように記述すると
このようにメッセージボックスの左上のタイトルを設定することができます。
ExcelのMsgBox関数って難しい…
そんなお悩み、当教室のレッスンで一気に解決できます。
✔ 基本操作からしっかり学べる
✔ 「見てマネするだけ」で自然と覚えられる
✔ わからないところはすぐ質問できるから安心
文字を読むのが苦手でも大丈夫。
「実践重視のレッスン」+「元パソコンが苦手だった講師のサポート」で、着実に「感覚としてExcelに慣れていく」ようになります。
詳細は下記をご覧ください。
メッセージを改行する方法
メッセージボックスに、文字列を入力する際、メッセージの内容が長くなることがあります。
それ自体には問題はないのですが、改行をした方が見やすくなることもあるので、改行の方法を知っておくと便利です。
【改行なしの場合】
Sub 確認()
MsgBox "正しいコードを入力してください。コードが不明な場合は、コード表を確認してください。", vbExclamation
End Sub
改行なしの場合は、そのまま文字列が横に続いていきます。
【改行ありの場合】
Sub 確認()
MsgBox "正しいコードを入力してください。" & vbLf & "コードが不明な場合は、コード表を確認してください。", vbExclamation
End Sub
改行ありの場合は、このようにメッセージの内容が見やすくなります。
メッセージ内で改行を入れたい場合は
- 改行を入れたい所で「& vbLf &」を入力する
- 改行前後の文字列はダブルクォーテーションで囲む
この2点がポイントになります。
文字列の長さに応じて活用してみてくださいね。
Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?
Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。
そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。
「苦手な方専門のパソコン教室パレハ」のレッスンは、動画ではなく、直接講師に質問できる生レッスンです。
生レッスンでありながらリーズナブルに学べるのが人気の秘密です。
また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。
パソコンが苦手な方でも苦労なく上達できる仕組みがあります。
詳細は下記をご覧ください。
教室に通う時間がなくてちょっとずつ覚えたいという方向けの「パソコン苦手さん向け通信講座」を作りました。
基本から順番に「実践で覚えるのではなく慣れていく」教材を使います。
「文字を読むのが苦手…」という方でも大丈夫。
動画とセットで感覚的に身につけられます。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。