← コード一覧へ戻る
基本ダイアログ

ユーザーに処理を選択させる

MsgBoxの戻り値で、はい・いいえ・キャンセルの選択を分岐させます。

実行前に確認

  • この例は選択結果の表示だけです。削除などの実処理へ応用する場合は、対象と影響を確認文に明記してください。
  • Excel実機での動作は未確認です。コピーした練習用ブックで試してください。

1サンプルコード

Option Explicit

Sub Example7023()
    Dim answer As VbMsgBoxResult
    answer = MsgBox("詳細を表示しますか?", _
                    vbYesNoCancel + vbQuestion + vbDefaultButton3)
    Select Case answer
        Case vbYes
            MsgBox "詳細表示を選びました"
        Case vbNo
            MsgBox "簡易表示を選びました"
        Case vbCancel
            Exit Sub
    End Select
End Sub

図で見るユーザーに処理を選択させるの流れ

イメージ図

MsgBoxの戻り値で、はい・いいえ・キャンセルの選択を分岐させます。

  1. 入力・開始時

    はい・いいえ・キャンセルの3ボタン

  2. 実行する処理

    MsgBoxの戻り値をSelect Caseで分ける

  3. 結果

    詳細表示、簡易表示、または何も表示せず終了

セルの値や既存のファイルを変更しない例です。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    デスクトップ版Excelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]を選び、空のモジュールの先頭にこの例全体を貼り付けます。

  2. 2

    書き換えは不要です。まず例の値のままで試し、値や変数名を変える場合は同じ名前の箇所も揃えます。

  3. 3

    Example7023のSub内にカーソルを置き、F5キーで実行します。

  4. 4

    [はい]では詳細、[いいえ]では簡易の選択結果が表示され、[キャンセル]では終了します。

使っている機能の公式ドキュメント(Microsoft Learn)