オプションボタン(ラジオボタン)の Value プロパティについて説明します。
HOME | 更新履歴 | ご利用上の注意事項 | FAQ | プライバシーポリシー | サイトマップ | Excel VBA 質問掲示板
日付
累計
本日
累計
本日
:
:
:
:
:
アクセス上位ページ
- コンボボックス
- テキストファイル読込
- セルの書式(背景色・パターン)
- AutoFilter メソッド
- Dir関数
- テキストファイル新規書込
- InStr関数
- InputBoxメソッド
- Sort メソッド
- マクロ有効ブックの保存と設定
- 比較演算子 ( Like も含む)
- テキストボックス
- FileDialogオブジェクト@
- ワークシートの数
- FileDialogオブジェクトA
- セルの書式(保護)
- Hidden プロパティ
- ワークシート関数によるカウント処理
- Split関数
- オブジェクト変数と Set
- オプションボタン
- OpenTextFile メソッド
- セルの書式(表示形式)
- チェックボックス
- LBound、UBound関数
- ラベル
- リストボックス
- FSOによるファイルコピー
- プロシージャの呼び出し
- ステップ実行
最近の更新内容
- 2016/5/7 ページ追加 1.(7)-n.PrintPreview メソッド
- 2015/12/13 ページ追加 5.(2)-i.トグルボタン
- 2015/10/18 『比較演算子 ( Like も含む)』内容修正
1.(7)-o.PrintOut メソッド
1.(7)-p.印刷ヘッダー、フッターの設定
5.(2)-j.スクロールバー
5.(2)-k.スピンボタン
5.(2)-l.イメージ
Excel VBA ≫ 5.ユーザーフォーム - 各種コントロール解説 ≫ (2)-h.オプションボタン
オプションボタン(ラジオボタン)のプロパティ
このページではオプションボタン(ラジオボタン)の Value プロパティについて解説します。
オプションボタンは2つ以上設置し、その中から1つを選択するためのコントロールです。 このコントロールの特徴は、あるオプションボタンを操作すると他のオプションボタンの Value プロパティが変わることにあります。 もう少し具体的に言うと、複数あるオプションボタンの中で Value プロパティに True を設定できるのは1つだけで、 あるオプションボタンに True を設定すると他のオプションボタンは自動的に False となります。
オプションボタンは前述のチェックボックスと同様に選択状態でも未選択でもない、"NULL状態"を表現することが可能です。
Value プロパティ以外の 前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。 かわりにリンクをまとめてありますのでリンク先をご覧になってください。
上記サンプルの実行結果
オプションボタンは2つ以上設置し、その中から1つを選択するためのコントロールです。 このコントロールの特徴は、あるオプションボタンを操作すると他のオプションボタンの Value プロパティが変わることにあります。 もう少し具体的に言うと、複数あるオプションボタンの中で Value プロパティに True を設定できるのは1つだけで、 あるオプションボタンに True を設定すると他のオプションボタンは自動的に False となります。
オプションボタンは前述のチェックボックスと同様に選択状態でも未選択でもない、"NULL状態"を表現することが可能です。
Value プロパティ以外の 前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。 かわりにリンクをまとめてありますのでリンク先をご覧になってください。
- このページで説明するプロパティ
- 説明済みのプロパティ(前のページへのリンク)
※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。 - 高さ・幅の設定(Width、Height プロパティ)・・・共通プロパティ
- 背景色の設定(BackColor プロパティ)・・・共通プロパティ
- 有効状態の設定(Enabled プロパティ)・・・共通プロパティ
- 可視状態の設定(Visible プロパティ)・・・共通プロパティ
- コントロールチップの表示(ControlTipText プロパティ)・・・共通プロパティ
- 表示文字列とそのフォント・色(Caption、Font、ForeColor プロパティ)・・・ラベル
- 特殊効果(SpecialEffect プロパティ)・・・ラベル
- 文字列の配置(AutoSize、TextAlign プロパティ)・・・ラベル
- 折り返し・改行(WordWrap プロパティ)
選択状態の取得および設定
- Value プロパティ 選択状態の取得および設定を行うには Value プロパティを使用します。 True を設定することで選択状態、False を設定することで未選択状態にすることができます。 冒頭にも説明しましたが、複数あるオプションボタンのうち True を設定できるのは1つだけで、 それ以外は自動的に False になります。
- 選択状態
- 未選択状態
- NULL状態
NULL状態にするにはプロパティウィンドウから設定する場合とコードから設定する場合で設定方法が異なります。 プロパティウィンドウから設定する場合は Value プロパティをクリアします。 コードから設定するには Value プロパティに NULL 値を設定します。



<プロパティウィンドウでの初期値設定例>
True/False を設定します。値をクリアするとNULL状態になります。

'選択状態に設定 Option1Button1.Value = True '未選択状態に設定 Option1Button1.Value = False 'NULL状態に設定 Option1Button1.Value = NULL
-
<コードの記述例(プロパティの取得)>
- オプションボタンの設置状態 オプションボタンは以下の図のように3つ(OptionButton1 〜 3)設置されており、 すべて未選択状態(False)に設定されているものとします。
以下のコードは、コマンドボタンのクリックイベントで、選択されているオプションボタンの Caption プロパティを表示する例です。 オプションボタンが少ない場合はIf〜ElseIfで判別してもよいですが、ここではあえて配列とFor分を使用してみました。
もし、NULL状態(NULL 値)を判別したい場合は IsNull関数 を使用してください。
(使用例 ⇒ チェックボックスのNULL状態(NULL値)を判別する)

Private Sub CommandButton1_Click() Dim OptionAry As Variant Dim flg As Boolean Dim i As Integer '複数のオプションボタンを配列として格納 OptionAry = Array(OptionButton1, OptionButton2, OptionButton3) '選択フラグの初期化 flg = False 'オプションボタンのチェック For i = 0 To UBound(OptionAry) If OptionAry(i).Value Then 'フラグに True を設定して、チェック処理を抜ける。 flg = True Exit For End If Next 'チェック結果の表示 If flg Then MsgBox "『" & OptionAry(i).Caption & "』が選択されました。" Else MsgBox "『飲酒』項目が選択されていません。", vbExclamation End If End Sub
上記サンプルの実行結果
- 何も選択されていない場合
- 1つ選択されている状態




- オプションボタンの初期設定 オプションボタンを設置したら、その初期値にも気を配りたいものです。 状況に応じて使い分けるとよいでしょう。
- 1つ選択された状態
- すべて未選択、または、NULL値の状態 ※重要な項目のため、ユーザーに選択操作を強制したい場合など
- フレームによるオプションボタンのグループ分け オプションボタンはフレームコントロールを使用することでグループ分けが可能です。 この同一グループ内で1つのオプションボタンを選択することができるようになります。 このような場合はオプションボタンのチェックもグループ単位に実施する必要があります。
- 飲酒と喫煙についてそれぞれオプションボタンを設置した例


(選択されていない場合にはエラーとする)



カテゴリ内ページ