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

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!

今回はこのような悩みについて解説します。

ルウちゃん

・メッセージボックスってどうやって表示させるの?
・いつ処理が終わったか教えて欲しい!

  • メッセージを表示させるにはMsgBoxを使う
  • MsgBoxには引数を指定することでボタンやアイコンを変更できる
  • MsgBoxは戻り値を使って処理を分岐させることができる
目次

はじめに

説明に入る前に一度目で見た方がわかりやすいと思いますのでコードと画面を貼っておきます。

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]

次はボタンを変えてみましょう!

ボタンの引数にはこれだけ種類があります。

全て覚える必要はありません。使いたい時に調べてください!

定数内容
vbOKOnly0[OK]ボタンのみを表示します
vbOKCancel1[OK]ボタンと[キャンセル]ボタンを表示します
vbAbortRetryIgnore2[中止]、[再試行]、および[無視]の3つのボタンを表示します
vbYesNoCancel3[はい]、[いいえ]、および[キャンセル]の3つのボタンを表示します
vbYesNo4[はい]ボタンと[いいえ]ボタンを表示します
vbRetryCancel5[再試行]ボタンと[キャンセル]ボタンを表示します
引用:office TANAKA

引数は上の表の定数を入力しても、値を入力しても同じ内容です。好きな方を使ってください!

【[OK]ボタンのみを表示する】

Sub メッセージボックス()
        MsgBox "こんにちは", vbOKOnly
End Sub
Sub メッセージボックス()
        MsgBox "こんにちは", 0
End Sub
[OKボタン]のみ

【[OK]ボタンと[キャンセル]ボタンを表示します】

Sub メッセージボックス()
        MsgBox "こんにちは", vbOKCancel
End Sub
Sub メッセージボックス()
        MsgBox "こんにちは", 1
End Sub
[OK]ボタンと[キャンセル]ボタン

このように定数か値を指定することで好きなボタンを表示させることができます。

MsgBoxのアイコンの種類[buttons]

次はアイコンの種類です!

アイコンの種類も同じく定数か値を指定することで変更できます。

定数内容
vbCritical16警告メッセージアイコンを表示します
vbQuestion32問い合わせメッセージアイコンを表示します
vbExclamation48注意メッセージアイコンを表示します
vbInformation64情報メッセージアイコンを表示します
引用:office TANAKA
Sub メッセージボックス()
        MsgBox "こんにちは", vbCritical
End Sub
Sub メッセージボックス()
        MsgBox "こんにちは", 16
End Sub
警告アイコン

このようにアイコンを変更することで利用者に注意を促すことができるようになります。

ぜひ使ってみてください!

MsgBoxのタイトルの指定[Title]

次にタイトルの変更の仕方を見ていきましょう!

Sub メッセージボックス()
        MsgBox "こんにちは", vbOKOnly, "ここがタイトルです!"
End Sub
タイトルの変更

第3引数に入力した文字列はタイトルとして表示されます。

タイトルにも警告の内容などを入力することによって利用者の注意を促すことができます。

使い方

次に実場面での使い方を見ていきましょう。

戻り値を使って分岐させる方法

MsgBoxには1つ1つの処理に戻り値が設定されています。

戻り値(返答)を使うことで処理を分岐させることも可能です。

定数説明
vbOK1[OK]ボタンが押された
vbCancel2[キャンセル]ボタンが押された
vbAbort3[中止]ボタンが押された
vbRetry4[再試行]ボタンが押された
vbIgnore5[無視]ボタンが押された
vbYes6[はい]ボタンが押された
vbNo7[いいえ]ボタンが押された
引用:office TANAKA

【返答によって処理を分岐させる方法】

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を使う
  • MsgBoxには引数を指定することでボタンやアイコンを変更できる
  • MsgBoxは戻り値を使って処理を分岐させることができる

今回はMsgBoxについて詳しく解説しました!

非常に使いやすく、便利なのでぜひ使い方をマスターして活用してください!

この記事で少しでも皆さんのお役に立てれば幸いです!

忘れないうちにお気に入り登録もお願いします!

ありがとうございました!

【おすすめ書籍】

/// お得な情報 ///

すぐに使えて便利なテクニックが650個も手に入る!

気になる人は今すぐクリック!!

 

目次