オプションボタンの状態を判定する(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で判定します。
グループ
両方のGroupNameをDeliveryへ
操作
店頭受取を選択
判定
ValueがTrueの項目を表示
各操作は、このガイドに指定されたフォームのコードで行います。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する5つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。
- 2
ツールボックスからOptionButton1、OptionButton2、CommandButton1をフォーム本体へ各1個を置き、各コントロールの[(Name)]が記載どおりか確認します。
- 3
UserForm1を右クリック→[コードの表示]を開き、掲載コード全体をフォームのコードモジュールへ貼り付けます。標準モジュールには貼り付けません。
- 4
VBEでUserForm1を選び、F5でフォームを表示します。 「店頭受取」を選び、ボタンを押します。
- 5
「配送」の選択が外れ、「店頭受取を選択」と表示されます。