← コード一覧へ戻る
基本UserForm

オプションボタンの状態を判定する(1):Ifで確認

2個のOptionButtonを同じグループにして、選ばれた配送方法をIfで判定します。

実行前に確認

  • 同じGroupNameでも別のFrameやPageに置くと別グループです。この例は2個ともフォーム本体に直接置きます。
  • 添付目次の番号に対応させた独自の実装例です。書籍本文の方法を再現・確認したものではありません。
  • コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。

1サンプルコード

'【貼付先:UserForm1 のコードモジュール】
Option Explicit

Private Sub UserForm_Initialize()
    Me.OptionButton1.Caption = "配送"
    Me.OptionButton2.Caption = "店頭受取"
    Me.OptionButton1.GroupName = "Delivery"
    Me.OptionButton2.GroupName = "Delivery"
    Me.OptionButton1.Value = True
    Me.CommandButton1.Caption = "選択を確認"
End Sub

Private Sub CommandButton1_Click()
    If Me.OptionButton1.Value Then
        MsgBox "配送を選択"
    ElseIf Me.OptionButton2.Value Then
        MsgBox "店頭受取を選択"
    Else
        MsgBox "未選択です。"
    End If
End Sub

図で見る一方だけを選ぶ

イメージ図

2個のOptionButtonを同じグループにして、選ばれた配送方法をIfで判定します。

  1. グループ

    両方のGroupNameをDeliveryへ

  2. 操作

    店頭受取を選択

  3. 判定

    ValueがTrueの項目を表示

各操作は、このガイドに指定されたフォームのコードで行います。

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

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

    Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。

  2. 2

    ツールボックスからOptionButton1、OptionButton2、CommandButton1をフォーム本体へ各1個を置き、各コントロールの[(Name)]が記載どおりか確認します。

  3. 3

    UserForm1を右クリック→[コードの表示]を開き、掲載コード全体をフォームのコードモジュールへ貼り付けます。標準モジュールには貼り付けません。

  4. 4

    VBEでUserForm1を選び、F5でフォームを表示します。 「店頭受取」を選び、ボタンを押します。

  5. 5

    「配送」の選択が外れ、「店頭受取を選択」と表示されます。

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