エクセル・VBA

マクロ・VBA|MsgBox関数でメッセージボックスを表示する方法

2023年10月18日

Excelはビジネスでも使用頻度が非常に高く、日々の業務でエクセルを使っている人も多いと思います。

マクロや VBA を使うことで、人為的なエラーを減らし、繰り返し的なタスクや繰り返し実行する必要のある作業・処理を自動化することができます。

これにより、時間と労力を節約できるため、作業効率のアップが可能です。

VBAには様々なステートメントや関数がありますが、情報を表示し、ユーザーとの対話を行うのに役立つのが、MsgBox(メッセージボックス)です。

メッセージボックスを使用して、重要な情報や指示を表示することができ、作業手順や方針の伝達を効果的に行うことができます。

そこで、今回の記事では、VBAでメッセージボックスを作成する方法や文字の表示、ボタンやアイコンの設定方法を詳しく解説します。

この他、マクロとVBAの違いやマクロの組み方の基本やボタンの作成方法など、マクロやVBA関連の記事は、下記で紹介していますので、ぜひ参考になさってください。

VBAとは?マクロとの違いを合わせて解説

初心者向け|エクセルのマクロの作り方・使い方・ボタンの作成まで解説

マクロ|ボタンで実行とファイルを有効化できない時の対処法

VBA|マクロ削除とデータクリアの記述


Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

「メッセージボックス」とは?

「メッセージボックス」はVBAでは「MsgBox」と記述します。

メッセージボックスとは、エクセルでよく見かけるダイアログボックスで、よく見るのは、データを保存していないのに閉じようとしたとき、

「変更内容を保存しますか?」

「保存」「保存しない」「キャンセル」

というメッセージが表示されるのを見たことがあると思います。これがメッセージボックスです。

メッセージボックスを活用することで、処理を分けることができるので、VBAではよく使われますし、簡単なものであれば初心者の方にも使いやすいです。

MsgBox関数の使い方

VBAでメッセージボックスを表示させるためには、MsgBox関数を使用します。

シンプルな記述は下記のようなものがあります。

Sub 確認()

MsgBox "正しいコードを入力してください"

End Sub

MsgBox

先ほどのコードを記述すると、このようなメッセージボックスを表示することができます。

表示させたいメッセージは、ダブルクォーテーションで囲むことが必要です。

MsgBox関数の構文

MsgBox関数の構文は下記のようになります

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

引数は、最大で5つになります。

prompt(必須)

表示するメッセージやテキストを指定します。

buttons(省略可能)

メッセージボックスに表示されるボタンの種類を指定します。

title(省略可能)

メッセージボックスのタイトルバーに表示されるテキストが指定されます。

helpfile(省略可能)

ヘルプファイルのパスを指定します。通常は使用されません。

context(省略可能)

ヘルプファイル内のコンテキスト番号が指定されます。通常は使用されません。

ボタンの種類の指定の仕方

MsgBox

上記の例では、「OK」ボタンが表示されていますが、このボタンの種類を他の種類のボタンに変えることができます。

ボタンの種類を指定するときは、「定数」または「値」で指定することが可能です。

【ボタンの種類 一覧】

定数説明
vbOKOnly0「OK」 ボタンのみを表示。
vbOKCancel1「OK」 ボタンと 「キャンセル」 ボタンを表示。
vbAbortRetryIgnore2「中止」、「再試行」、「無視」 の各ボタンを表示。
vbYesNoCancel3「はい」、「いいえ」、「キャンセル」 の各ボタンを表示。
vbYesNo4「はい」 ボタンと 「いいえ」 ボタンを表示。
vbRetryCancel5「再試行」 ボタンと 「キャンセル」 ボタンを表示。

このようになります。

記述の例

今回は、一覧の中から「vbYesNo」の「はい」 と 「いいえ」 ボタンを表示させてみましょう。

Sub 確認()

MsgBox "詳細を確認しますか?", vbYesNo

End Sub

または

Sub 確認()

MsgBox "詳細を確認しますか?", 4

End Sub

このように記述することができます。

例のように記述すると

MsgBox

このように「はい」と「いいえ」のボタンを表示させることができます。


Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

アイコンの種類の指定の仕方

MsgBox

上記の例では、アイコンが表示されていませんが、内容に応じてアイコンを表示させることも可能です。

アイコンの種類を指定するときは、「定数」または「値」で指定することが可能です。

【アイコンの種類 一覧】

定数説明
vbCritical16「重大なメッセージ」 アイコンを表示。
vbQuestion32「警告クエリ」 アイコンを表示。
vbExclamation48「警告メッセージ」 アイコンを表示。
vbInformation64「情報メッセージ」 アイコンを表示。

このようになります。

記述の例

今回は一覧の中から「vbExclamation」の警告メッセージアイコンを表示させてみましょう。

Sub 確認()

MsgBox "正しいコードを入力してください", vbExclamation

End Sub

このように記述することができます。

例のように記述すると

MsgBox

このように注意メッセージ用のアイコンを表示させることができます。

ボタンの種類とアイコンを同時に記述する方法

構文にもあるように、ボタンの種類とアイコンは両方とも同時に指定することが可能です。

このようになります。

記述の例

今回は一覧の中から、「vbRetryCancel」を使って、「再試行」と 「キャンセル」 ボタンを表示させ、さらに同時に、「vbExclamation」の警告メッセージアイコンを表示させてみましょう。

Sub 確認()

MsgBox "正しいコードを入力してください", vbRetryCancel + vbExclamation

End Sub

または

Sub 確認()

MsgBox "正しいコードを入力してください", 5 + 48

End Sub

このように記述することができます。

例のように記述すると

MsgBox

ボタンの種類とアイコンの種類を同時に記述することが可能です。

「値」を利用した指定方法

ボタンの種類とアイコンの種類を指定する際に、「定数」と「値」のいずれかを選択することができますが、「値」の記述には2つの記述パターンがあります。

【パターン①】

Sub 確認()

MsgBox "正しいコードを入力してください", 5 + 48

End Sub

→こちらの記述では、それぞれの値を入力しています。

 

【パターン②】

Sub 確認()

MsgBox "正しいコードを入力してください", 53

End Sub

→こちらの記述では、それぞれの値を足した値で記述しています。

いずれの場合も、同じメッセージボックスを表示させることができますが、値を合計してしまうと、あとから見直したときに分かりにくいなどのデメリットがあるので、記述する際は、それぞれの値を入力してわかりやすくしておくのがオススメです。

メッセージボックスのタイトルを指定する方法

MsgBox

例えば、先ほどのこちらのメッセージボックスですが、メッセージボックスの左上が「Microsoft Excel」になっているのがわかります。

今、「Microsoft Excel」と表示されている位置がタイトルの位置になります。

記述の例

今回はメッセージボックスの左上に「コードエラー」というタイトルを表示させます。

Sub 確認()

MsgBox "正しいコードを入力してください", vbRetryCancel + vbExclamation, "コードエラー"

End Sub

先ほどの記述にさらにタイトルを追加してみましょう。

タイトルは文字列なのでダブルクォーテーションで囲みます。

例のように記述すると

MsgBox

このようにメッセージボックスの左上のタイトルを設定することができます。

メッセージを改行する方法

メッセージボックスに、文字列を入力する際、メッセージの内容が長くなることがあります。

それ自体には問題はないのですが、改行をした方が見やすくなることもあるので、改行の方法を知っておくと便利です。

【改行なしの場合】

Sub 確認()

MsgBox "正しいコードを入力してください。コードが不明な場合は、コード表を確認してください。", vbExclamation

End Sub

MsgBox

改行なしの場合は、そのまま文字列が横に続いていきます。

 

【改行ありの場合】

Sub 確認()

MsgBox "正しいコードを入力してください。" & vbLf & "コードが不明な場合は、コード表を確認してください。", vbExclamation

End Sub

MsgBox

改行ありの場合は、このようにメッセージの内容が見やすくなります。

メッセージ内で改行を入れたい場合は

  • 改行を入れたい所で「& vbLf &」を入力する
  • 改行前後の文字列はダブルクォーテーションで囲む

この2点がポイントになります。

文字列の長さに応じて活用してみてくださいね。

Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?

Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。

そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。

「オンライン」にも対応している「苦手な方専門パソコン教室パレハ」にお任せください。

オンラインというと「動画を見るだけ」とか「オンラインなんてやったことがない」というご不安があるかと思います。

ですが「苦手な方専門のパソコン教室パレハ」の「オンラインレッスン」は、動画ではなく、直接講師に質問できる生レッスンです。

生レッスンでありながらリーズナブルに学べるのが人気の秘密です。

また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。

パソコンが苦手でも、オンラインできる仕組みがあります。

詳細は下記をご覧ください。

マクロ入門講座

パソコンが苦手な方向けエクセル マクロ入門講座の詳細はコチラ

VBA講座

パソコンが苦手な方向けエクセル マクロ・VBA講座の詳細はコチラ

パソコンが苦手な人向けエクセル講座

パソコンが苦手な方向けエクセル講座の詳細はコチラ

Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

ココがおすすめ

パソコン教室パレハ直営校

パソコン教室パレハ直営校

■ パソコン教室パレハ広島市安佐南区緑井校

■ パソコン教室パレハ広島市中区本通り校

■ パソコン教室パレハ 静岡市駿河区南町校

ココがおすすめ

パソコン教室パレハグループ加盟校

自信をもってご紹介できるパソコン教室

下記はパレハグループ加盟校となります。

料金体制などは異なりますが、パソコン教室パレハが自信をもってご紹介できるパソコン教室です。

■ 岩出市のパソコン教室キュリオステーション

■ 岩出市にあるパソコン教室 「キュリオステーション 岩出店」の公式サイトはこちら

■ 名古屋市緑区にある有松パソコン教室

■ 愛知県名古屋市緑区にあるパソコン教室 「有松パソコン教室」の公式サイトはこちら

■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)

■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら

全国加盟校一覧

全国のパソコン教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校

ココがおすすめ

オンライン形式をご希望の方はこちら

オンライン形式をご希望の方はこちら

東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Zoomを使ったオンライン個別レッスンです)をお選びください。

オンラインパソコン教室|オンラインなのに生レッスン

ココがおすすめ

パソコン教室講座一覧はこちら

パソコン教室講座一覧はこちら

他にもパソコンの講座は多数ございます。

詳しくは下記をご覧ください。

パソコン教室の受講コース案内(講座のご紹介)

メールの画像

メールはこちら

ラインの画像

LINEはこちら

電話の画像

お電話はこちら