【ExcelVBA・マクロ】MsgBoxの使い方|メッセージを表示する基本から応用まで完全解説【コピペOK】

MsgBoxの使い方 ExcelVBA

VBAを学び始めると、最初によく使うのが MsgBox です。

例えば、次のようなことはありませんか?

  • 処理結果を表示したい
  • エラーをユーザーへ知らせたい
  • Yes/Noで確認したい

このような場合は、MsgBox関数を使うことで簡単に実現できます。
VBAでは最も使用頻度が高い関数の1つです。

この記事では、MsgBoxの基本から実務で使える応用までを初心者向けに分かりやすく解説します。


スポンサーリンク
スポンサーリンク

この記事でできること

  • メッセージを表示できる
  • Yes/Noボタンを使える
  • アイコン付きメッセージを表示できる
  • 実務で使えるコードが分かる

基本:MsgBoxの使い方

基本構文はこちらです。

MsgBox "表示するメッセージ"

例:

MsgBox "こんにちは"

メッセージボックスが表示されます。


基本例

Option Explicit

Sub MsgBoxBasic()

    MsgBox "処理が完了しました"

End Sub

改行する方法

vbCrLf を使うことで改行できます。

MsgBox "1行目" & vbCrLf & "2行目"

表示結果:


1行目
2行目

タイトルを付ける

MsgBox "保存しました", , "完了"

タイトルバーに「完了」が表示されます。


アイコンを表示する

定数内容
vbInformation情報アイコン
vbExclamation警告アイコン
vbCriticalエラーアイコン
vbQuestion質問アイコン

MsgBox "保存しました", vbInformation, "完了"

Yes / No ボタンを使う

確認メッセージでよく使います。

Dim result As VbMsgBoxResult

result = MsgBox("削除しますか?", vbYesNo + vbQuestion)

If result = vbYes Then
    MsgBox "削除しました"
Else
    MsgBox "キャンセルしました"
End If

使用できるボタン一覧

定数内容
vbOKOnlyOKのみ
vbOKCancelOK / キャンセル
vbYesNoはい / いいえ
vbRetryCancel再試行 / キャンセル
vbYesNoCancelはい / いいえ / キャンセル

セルの値を表示する

MsgBox Range("A1").Value

変数の値を表示する

Dim name As String

name = "田中"

MsgBox "名前:" & name

実務でよく使う例

① 処理完了メッセージ

MsgBox "処理が完了しました", vbInformation

② エラーメッセージ

MsgBox "入力してください", vbExclamation

③ 削除確認

If MsgBox("削除しますか?", vbYesNo) = vbYes Then
    Rows(1).Delete
End If

実務での活用例

  • エラー通知
  • 処理完了通知
  • 確認メッセージ
  • デバッグ確認

VBAでは毎日のように使う重要機能です。


注意点

① 処理が停止する

MsgBox表示中はVBAが停止します。

② 表示しすぎに注意

実務では大量表示すると操作性が悪くなります。

③ Debug.Printとの使い分け

開発中はDebug.Printの方が便利な場合もあります。


よくあるエラーと対処法

① ボタン判定が動かない

戻り値を確認してください。

② 改行されない

vbCrLf を使用してください。

③ コードは正しいのにエラーになる

コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。


まとめ

  • MsgBoxはメッセージ表示の基本関数
  • Yes/No確認も可能
  • アイコン表示にも対応
  • VBAで最重要レベルの関数

MsgBoxを使いこなせるようになると、ユーザーに分かりやすいVBAが作れるようになります。
VBA学習では必須の関数なので、ぜひマスターしておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

タイトルとURLをコピーしました