当サイトの記事にはプロモーションが含まれています。

Excel VBAでメッセージボックスに選択肢を表示し、処理を分岐させる方法

パソコンパソコン・スマホ教室
スポンサーリンク

Excel VBAを使って、ユーザーにメッセージボックスで選択肢を提示し、その選択に応じて処理を分岐させる方法を、初心者の方にもわかりやすく解説します。パソコンやスマホの操作に不安がある方でも、安心して理解できるように進めていきますので、ぜひ最後までご覧ください。

スポンサーリンク

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

Excelのイメージ

Excelのイメージ

まず、メッセージボックスとは、プログラムの実行中にユーザーにメッセージを表示し、何らかのアクションを促すための小さなウィンドウのことです。例えば、「保存しますか?」と尋ねるダイアログボックスがそれにあたります。

Excel VBAでは、このメッセージボックスを簡単に表示することができます。以下のコードをVBAエディタに入力してみましょう。

Sub メッセージボックスの例()
MsgBox "処理を続けますか?", vbYesNo, "確認"
End Sub

このコードを実行すると、「処理を続けますか?」というメッセージとともに、「はい」と「いいえ」のボタンが表示されるメッセージボックスが現れます。

メッセージボックスのボタンの種類と返り値

メッセージボックスには、表示するボタンの種類を指定することができます。代表的なものは以下の通りです。

ここがポイント!

  • vbYesNo: 「はい」と「いいえ」の2つのボタン
  • vbOKCancel: 「OK」と「キャンセル」の2つのボタン
  • vbAbortRetryIgnore: 「中止」「再試行」「無視」の3つのボタン
  • vbYesNoCancel: 「はい」「いいえ」「キャンセル」の3つのボタン

これらのボタンを指定することで、ユーザーに選択肢を提供することができます。

また、ユーザーがどのボタンをクリックしたかを判定するためには、メッセージボックスの返り値を利用します。例えば、以下のように記述します。

Sub メッセージボックスの判定()
Dim res As VbMsgBoxResult
res = MsgBox("処理を続けますか?", vbYesNo, "確認")

If res = vbYes Then
MsgBox "処理を続けます。"
Else
MsgBox "処理を中止します。"
End If
End Sub

このコードでは、「はい」がクリックされた場合に「処理を続けます。」と表示し、「いいえ」がクリックされた場合に「処理を中止します。」と表示します。

実際の活用例ファイル削除の確認

実際の業務でよく使われる例として、ファイルを削除する際の確認メッセージを表示する方法を紹介します。

Sub ファイル削除の確認()
Dim res As VbMsgBoxResult
res = MsgBox("本当にこのファイルを削除しますか?", vbYesNo + vbExclamation, "確認")

If res = vbYes Then
MsgBox "ファイルを削除しました。"
Else
MsgBox "ファイルの削除を中止しました。"
End If
End Sub

このコードでは、削除の確認を行い、「はい」がクリックされた場合に削除処理を実行し、「いいえ」がクリックされた場合に処理を中止します。

よくある質問や疑問

Q1: メッセージボックスに「はい」「いいえ」以外のボタンを表示することはできますか?

はい、可能です。例えば、「OK」と「キャンセル」のボタンを表示するには、以下のように記述します。

Sub OKCancelの例()
Dim res As VbMsgBoxResult
res = MsgBox("処理を続けますか?", vbOKCancel, "確認")

If res = vbOK Then
MsgBox "処理を続けます。"
Else
MsgBox "処理を中止します。"
End If
End Sub

Q2: メッセージボックスのアイコンを変更することはできますか?

はい、可能です。アイコンを変更するには、以下のように記述します。

Sub アイコンの変更()
MsgBox "処理を続けますか?", vbYesNo + vbInformation, "確認"
End Sub

このコードでは、情報アイコンが表示されます。アイコンの種類には、vbCritical(エラーアイコン)、vbExclamation(警告アイコン)、vbInformation(情報アイコン)などがあります。

Q3: メッセージボックスのデフォルトボタンを変更することはできますか?

はい、可能です。デフォルトボタンを変更するには、以下のように記述します。

Sub デフォルトボタンの変更()
MsgBox "処理を続けますか?", vbYesNo + vbDefaultButton2, "確認"
End Sub

このコードでは、「いいえ」ボタンがデフォルトで選択されます。

まとめ

Excel VBAのメッセージボックスを活用することで、ユーザーに選択肢を提示し、処理を柔軟に分岐させることができます。業務の効率化やユーザーインターフェースの向上に役立つ機能ですので、ぜひ積極的に活用してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

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