はじめに
Excelのシート上で、ユーザーに複数の選択肢から一つだけを選ばせる場合、「フォームコントロール」の「オプションボタン」が役立ちます。アンケートや設定シートなどで、排他的な選択を促すのに最適です。
VBAを使えば、シート上に配置された複数のオプションボタンの中から、ユーザーがどれを選択したのかを簡単に特定できます。この記事では、シート上の全てのオプションボタンをチェックし、選択されている項目のキャプション(表示テキスト)を取得するための、基本的で確実な方法を解説します。
選択されたオプションボタンを判定するVBAサンプルコード
このマクロは、シート上に配置された全てのオプションボタンをループで確認し、選択状態にあるボタンの名前(キャプション)をメッセージボックスに表示します。
完成コード
' シート上のオプションボタンで選択されている項目を取得する
Sub GetSelectedOptionButton()
'== 変数を定義します ==
Dim optButton As OptionButton
Dim selectedChoiceCaption As String
' デフォルト値を「未選択」に設定
selectedChoiceCaption = "未選択です"
'== OptionButtonsコレクションで、シート上の全てのオプションボタンをループ ==
For Each optButton In ActiveSheet.OptionButtons
' .Valueプロパティがオン(xlOn)かどうかを判定
If optButton.Value = xlOn Then
' オンになっているボタンのキャプションを取得
selectedChoiceCaption = optButton.Caption
' 選択項目が見つかったのでループを抜ける
Exit For
End If
Next optButton
'== 結果をメッセージボックスに表示 ==
MsgBox "選択された項目: " & selectedChoiceCaption, vbInformation, "選択結果"
End Sub
コードの解説
For Each optButton In ActiveSheet.OptionButtons
この一行が、シート上の全てのオプションボタンをチェックするための基本構造です。
ActiveSheet.OptionButtons: 現在アクティブなシートに配置されている、全てのオプションボタンが含まれるコレクションです。For Eachループで、このコレクションからオプションボタンオブジェクトを一つずつoptButton変数に取り出して処理しています。
If optButton.Value = xlOn Then
オプションボタンの状態は .Value プロパティで判定します。
xlOn(値は1): ボタンが選択されている(オン)状態を示します。xlOff(値は-4146): ボタンが選択されていない(オフ)状態を示します。
この If 文で、オンになっているボタンを見つけています。
selectedChoiceCaption = optButton.Caption
オンになっているボタンが見つかったら、そのボタンの .Caption プロパティ(ボタンの横に表示されているテキスト)を取得し、変数に格納しています。
Exit For
オプションボタンは、同じグループ内では一つしか選択できません。そのため、選択されているボタンが一つ見つかった時点で、それ以上ループを続ける必要はありません。Exit For でループを抜けることで、処理を効率化しています。
まとめ
今回は、VBAを使ってシート上のオプションボタンの選択状態を判定する方法を解説しました。
- シート上のオプションボタンは
ActiveSheet.OptionButtonsコレクションでまとめて扱える。 - ボタンの状態は
.Valueプロパティ(xlOn/xlOff)で判定する。 - ボタンの表示テキストは
.Captionプロパティで取得できる。
この方法を使えば、ユーザーの選択に基づいて計算を行ったり、表示する内容を切り替えたりと、シートをよりインタラクティブに活用することができます。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
