【初心者向け】使いやすさUP!まず初めに覚えたいMsgBoxの使い方とは?【Excel VBA】

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!
今回はこのような悩みについて解説します。

・メッセージボックスってどうやって表示させるの?
・いつ処理が終わったか教えて欲しい!
はじめに
説明に入る前に一度目で見た方がわかりやすいと思いますのでコードと画面を貼っておきます。
Sub メッセージボックス()
MsgBox "文字を入力しました!"
End Sub




この記事ではMsgBoxについて詳しく解説しています。
初心者の方は「MsgBoxの書き方」までマスターできれば十分です。
余裕があれば学習してください!
MsgBoxを使うメリット
MsgBoxは自分でコードを書く際は、必ず表示させた方がいいでしょう。
なぜなら、マクロで仕事を効率化させるのが主な目的となっている場合、
大量の処理や印刷をすることが頻繁にあります。
そこで確認せずに、実行してしまうとデータを壊してしまったり、大量に印刷してしまう可能性があります。
そのようなミスを防ぐためにも必ず表示させた方がいいでしょう。
また、VBAについてあまり詳しくない方が使った場合にも案内や警告などがあると便利でしょう。
MsgBoxの書き方
MsgBox Prompt[,Buttons][, Title]
基本的な構文はこの通りで、あまりこだわりがない場合は、Pronpt(メッセージ内容)だけを表示させることもできます。
MsgBoxのメッセージ内容[Prompt]
次は実際にメッセージを表示させてみましょう!
サンプルコードを見てマスターしてください!
Sub メッセージボックス()
Range("A3") = Range("A1") * Range("A2")
MsgBox "計算が終了しました!"
End Sub




計算が終わった時にメッセージを知らせてくれるだけでも、利用者からすると「あれ?終わったの?」とならずに済みます。
MsgBoxのボタン[buttons]
次はボタンを変えてみましょう!
ボタンの引数にはこれだけ種類があります。
全て覚える必要はありません。使いたい時に調べてください!
定数 | 値 | 内容 |
---|---|---|
vbOKOnly | 0 | [OK]ボタンのみを表示します |
vbOKCancel | 1 | [OK]ボタンと[キャンセル]ボタンを表示します |
vbAbortRetryIgnore | 2 | [中止]、[再試行]、および[無視]の3つのボタンを表示します |
vbYesNoCancel | 3 | [はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します |
vbYesNo | 4 | [はい]ボタンと[いいえ]ボタンを表示します |
vbRetryCancel | 5 | [再試行]ボタンと[キャンセル]ボタンを表示します |
引数は上の表の定数を入力しても、値を入力しても同じ内容です。好きな方を使ってください!
【[OK]ボタンのみを表示する】
Sub メッセージボックス()
MsgBox "こんにちは", vbOKOnly
End Sub
Sub メッセージボックス()
MsgBox "こんにちは", 0
End Sub


【[OK]ボタンと[キャンセル]ボタンを表示します】
Sub メッセージボックス()
MsgBox "こんにちは", vbOKCancel
End Sub
Sub メッセージボックス()
MsgBox "こんにちは", 1
End Sub


このように定数か値を指定することで好きなボタンを表示させることができます。
MsgBoxのアイコンの種類[buttons]
次はアイコンの種類です!
アイコンの種類も同じく定数か値を指定することで変更できます。
定数 | 値 | 内容 |
---|---|---|
vbCritical | 16 | 警告メッセージアイコンを表示します |
vbQuestion | 32 | 問い合わせメッセージアイコンを表示します |
vbExclamation | 48 | 注意メッセージアイコンを表示します |
vbInformation | 64 | 情報メッセージアイコンを表示します |
Sub メッセージボックス()
MsgBox "こんにちは", vbCritical
End Sub
Sub メッセージボックス()
MsgBox "こんにちは", 16
End Sub


このようにアイコンを変更することで利用者に注意を促すことができるようになります。
ぜひ使ってみてください!
MsgBoxのタイトルの指定[Title]
次にタイトルの変更の仕方を見ていきましょう!
Sub メッセージボックス()
MsgBox "こんにちは", vbOKOnly, "ここがタイトルです!"
End Sub


第3引数に入力した文字列はタイトルとして表示されます。
タイトルにも警告の内容などを入力することによって利用者の注意を促すことができます。
使い方
次に実場面での使い方を見ていきましょう。
戻り値を使って分岐させる方法
MsgBoxには1つ1つの処理に戻り値が設定されています。
戻り値(返答)を使うことで処理を分岐させることも可能です。
定数 | 値 | 説明 |
---|---|---|
vbOK | 1 | [OK]ボタンが押された |
vbCancel | 2 | [キャンセル]ボタンが押された |
vbAbort | 3 | [中止]ボタンが押された |
vbRetry | 4 | [再試行]ボタンが押された |
vbIgnore | 5 | [無視]ボタンが押された |
vbYes | 6 | [はい]ボタンが押された |
vbNo | 7 | [いいえ]ボタンが押された |
【返答によって処理を分岐させる方法】
Sub メッセージボックス()
Dim Result As Long
Result = MsgBox("処理を続けますか?", vbYesNo + vbExclamation)
If Result = vbYes Then
Range("A1").Value = "はい"
Else
Range("A1").Value = "いいえ"
End If
End Sub




このように戻り値を使って処理を分岐させることで、
誤って実行してしまうことを防ぐことができます。
まとめ
今回はMsgBoxについて詳しく解説しました!
非常に使いやすく、便利なのでぜひ使い方をマスターして活用してください!
この記事で少しでも皆さんのお役に立てれば幸いです!
忘れないうちにお気に入り登録もお願いします!
ありがとうございました!
【おすすめ書籍】
コメントはお気軽に!
コメント一覧 (1件)
[…] 【初心者向け】使いやすさUP!まず初めに覚えたいMsgBoxの使い方とは?… […]