Excel VBA 逆引き集 | オプションボタン

Excel VBA
スポンサーリンク

オプションボタンの基本

Excel VBAで「複数の選択肢から 1つだけ選んでもらう」場面では UserFormのオプションボタン(OptionButton) を使います。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。


基本の考え方

  • OptionButtonとは?
    ○ の形をした入力コントロール。複数配置すると「どれか1つだけ選択」できる。
  • 用途:
    • 性別選択(男性/女性)
    • 支払い方法選択(現金/カード/振込)
    • 設定画面でのモード選択
  • プロパティ:
    • .Value → True(選択されている)/False(選択されていない)
    • .Caption → 表示されるラベル文字列

テンプレ1:選択状態を判定してメッセージ表示

UserFormに OptionButton1(男性)OptionButton2(女性)CommandButton1 を配置。

Private Sub CommandButton1_Click()
    If OptionButton1.Value = True Then
        MsgBox "男性が選択されました"
    ElseIf OptionButton2.Value = True Then
        MsgBox "女性が選択されました"
    Else
        MsgBox "どちらも選択されていません"
    End If
End Sub
VB
  • ポイント:
    • OptionButton1.Value が True なら選択されている。
    • 複数のオプションボタンから1つだけ選べる。

テンプレ2:選択結果をシートに書き戻す

Private Sub CommandButton1_Click()
    Dim ws As Worksheet: Set ws = Worksheets("Result")

    If OptionButton1.Value Then
        ws.Range("A1").Value = "現金"
    ElseIf OptionButton2.Value Then
        ws.Range("A1").Value = "カード"
    ElseIf OptionButton3.Value Then
        ws.Range("A1").Value = "振込"
    End If

    MsgBox "選択内容をシートに保存しました"
End Sub
VB
  • ポイント:
    • 選択されたオプションをシートに書き戻す。

テンプレ3:フォーム初期化時に選択状態を設定

Private Sub UserForm_Initialize()
    OptionButton1.Value = True   ' 初期状態で「現金」を選択
    OptionButton2.Value = False
    OptionButton3.Value = False
End Sub
VB
  • ポイント:
    • フォームを開いたときに初期状態を設定。

テンプレ4:選択肢を動的に変更

Private Sub CommandButton1_Click()
    OptionButton1.Caption = "国内配送"
    OptionButton2.Caption = "海外配送"
End Sub
VB
  • ポイント:
    • .Caption プロパティでラベル文字を変更。
    • 状況に応じて選択肢を切り替え可能。

テンプレ5:複数グループを作る(Frameで囲む)

  • Frameコントロール で囲むと「グループ化」できる。
  • グループごとに「1つだけ選択」が可能。

例:性別(男性/女性)と支払い方法(現金/カード/振込)を別グループに。


例題で練習

'例1:性別選択を判定
' → CommandButton1_Click にコードを記述

'例2:支払い方法をシートに書き戻す
' → CommandButton1_Click にコードを記述

'例3:フォーム初期化時に選択状態を設定
' → UserForm_Initialize にコードを記述

'例4:選択肢を動的に変更
' → CommandButton1_Click にコードを記述

'例5:Frameでグループ化して複数選択セットを作る
' → UserFormにFrameを配置
VB

初心者向けポイント

  • OptionButtonは「1つだけ選択」 → 複数の中から1つを選ぶ用途に最適。
  • Valueで判定 → True/Falseで選択状態を確認。
  • Captionでラベル変更 → 状況に応じて選択肢を変えられる。
  • Frameでグループ化 → 複数の選択セットを作れる。
  • UserForm_Initializeで初期化 → 開いたときの選択状態を設定。

👉 この「オプションボタン基本テンプレ」を覚えておけば、Excel VBAで 複数選択肢から1つを選ぶ入力フォーム を簡単に作れるようになります。

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