オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができるようになっているコントロールパーツの事を「オプションボタン」といいます。
ここではオプションボタンの基本的な使い方についてご紹介します。
オプションボタン

オプションボタンの特徴は、上の図を参考にすると「男」を選択すると(True)もう一方の「女」は自動的に未選択状態(False)に設定されます。
これにより、グループ内にたくさんのオプションボタンがあっても1つしか選択できないようになっています。
では、上の画像の性別の部分を実際にVisual Basic Editor(VBE)を起動して、作ってみましょう。
起動方法から説明を始めると長くなってしまうのでここでは省略しますので、下記をご覧くださいませ。

オプションボタン(optionbutton)を配置する
オプションボタンを配置したいユーザーフォームに、ツールボックスのオプションボタンを2個配置します。(男女1個ずつ)

配置ができたら見栄え良く大きさと位置を整えますので名前を変更できるプロパティで変更します。

オプションボタンの名前を変更
OptionBtton1・OptionButton2という表示のままでは、使う人に何を選ぶのか伝わらないので表示を変更します。
OptionButton1をクリックすると画面左にOptionButton1のプロパティが表示されますので、7行目の項目Captionの部分が表示される名前です。
「OptionButton1」となっている名前を「男」に書き換えれば、表示名が変更できますので、同じように「OptionButton2」も「女」に書き換えましょう。
これでユーザーフォーム上のオプションボタンの準備は完了です。ただせっかくなので「性別」という枠を付けてあげると体裁が整うので、ついでに枠を付けましょう。
グループになっている枠名称変更
この枠は「フレーム」(Frame)といいます。
オプションボタンを選んだ時と同じようにツールボックスからフレームを選んでユーザーフォームに空いているスペースに配置し、名前を「Frame1」を「性別」に変更します。
次にすでに作成してある男女のオプションボタンをフレームの中に入れます。
オプションボタンがフレームの中に納まったら、再度大きさなどを好みの大きさに調整して、実際に配置したい場所に移動させます。

この時フレームを移動すれば一緒にオプションボタンもセットで動いてくれます。
これでユーザーフォームに性別を選択するオプションボタンが完成しました。
コマンドボタンで性別をセルに書き込む
オプションボタンやフレームだけでは実用的ではなく、性別を選択してコマンドボタンを押すことで、目的のセルに書き込みます。
ここでは、コマンドボタン1を押すことでセルA1に選択されたオプションボタンの値を書き込むようにします。
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
Range(“A1”).Value = “1”
ElseIf OptionButton2.Value = True Then
Range(“A1”).Value = “2”
End If
End Sub
- コマンドボタン1がクリックされたら
- もしオプションボタン1が選択されていたら
- セルAD1に半角数字で「1」を入力する
- そうではなくてもしオプションボタン2が選択されていたら
- セルAD1に半角数字で「2」を入力する
- Ifステートメント終了
- マクロ記述終了
これでオプションボタンを選択した時に男女が番号になって記述されます。
ちなみに、オプションボタンの名前(キャプション)のままで記述する時は、
Range(“A1”).Value = OptionButton1.Caption
とすれば、そのまま記述されます。
3つ以上のオプションボタン
オプションボタンは2つ以上使うことができグループ化できます。

上の図は8つのオプションボタンを使用して必ず1つは選択するようにしていますが、チェック漏れも当然ありますので未選択時に警告を発するようにすることでエラーを防ぐことも重要ですよ!

エラー回避の対処法は下記をご覧くださいませ


関連記事
-
オプションボタン(optionbutton)の名前変更と使い方
オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができる… -
セル値を自動取得してオプションボタンの状態を表示させるVBA方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態… -
全てのオプションボタンが未選択の時にエラーを防ぐVBA対処法
マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図…
紅葉スポット
-
フリーきっぷで行く群馬県内の紅葉名所や穴場スポット21選
渋滞避けて電車とバスでのんびり紅葉を見に行きませんか?群馬県の山間部ならば9月中旬頃から紅葉が見られる名所・スポットがありますので、少し早い秋の訪れを感じに出… -
龍王峡駅から徒歩で紅葉や虹見の滝へ鬼怒川温泉駅からバスなら10分
【紅葉見頃】10月下旬~11月中旬 鬼怒川温泉と川治温泉の間に位置して、鬼怒川沿いに龍王峡自然研究路をいう遊歩道が整備されているので、火山の噴火によってできた岩… -
四方木ふれあい館から四方木不動滝の紅葉絶景へ安房天津駅からバス
県道から山道に入り林の中にある秘境で、水量によって左右に分かれることから夫婦滝とも呼ばれています。 山深い大自然の中を散策していく四方木不動滝と紅葉がひそかな… -
雲場池へバスで軽井沢駅から紅葉絶景観光スポットへ滞在時間50分
【紅葉見頃】10月中旬~11月中旬 避暑地軽井沢は実は紅葉も綺麗に見られる観光スポットでも知られ、紅葉名所の雲場池は軽井沢駅から1.3㎞程なので徒歩でも行けますし… -
十勝岳望岳台へ活火山の溶岩と山頂部の雪化粧と紅葉の三段紅葉絶景
北海道のほぼ真ん中に位置して旭岳・美瑛藤・上富良野岳などが一望でき、さらに旭川市街や富良野市街までも見ることができる絶景スポットです。 標高930mの十勝岳は9月… -
フリーきっぷで行く千葉県内の紅葉名所や穴場スポット7選
10月中旬頃から始まる関東地方の紅葉も11月中旬過ぎると、ようやく千葉県内の紅葉名所ももみじが真っ赤に色づいて見頃になってきます。 千葉県内の紅葉は12月上旬まで楽…