オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができるようになっているコントロールパーツの事を「オプションボタン」といいます。
ここではオプションボタンの基本的な使い方についてご紹介します。
オプションボタン
![オプションボタン](https://tripbowl.net/wp-content/uploads/2018/07/7bcfab4d157718a3b3a3d89cea18576a.jpg)
オプションボタンの特徴は、上の図を参考にすると「男」を選択すると(True)もう一方の「女」は自動的に未選択状態(False)に設定されます。
これにより、グループ内にたくさんのオプションボタンがあっても1つしか選択できないようになっています。
では、上の画像の性別の部分を実際にVisual Basic Editor(VBE)を起動して、作ってみましょう。
起動方法から説明を始めると長くなってしまうのでここでは省略しますので、下記をご覧くださいませ。
![](https://tripbowl.net/wp-content/uploads/2019/03/5e6b9643290659762630b606c9192767-2-300x200.jpg)
オプションボタン(optionbutton)を配置する
オプションボタンを配置したいユーザーフォームに、ツールボックスのオプションボタンを2個配置します。(男女1個ずつ)
![オプションボタン配置](https://tripbowl.net/wp-content/uploads/2018/07/44925a493c4e5528b56927681568882a.jpg)
配置ができたら見栄え良く大きさと位置を整えますので名前を変更できるプロパティで変更します。
![オプションボタンキャプション](https://tripbowl.net/wp-content/uploads/2018/07/4c550dbede2798e880fc3541ea193670.jpg)
オプションボタンの名前を変更
OptionBtton1・OptionButton2という表示のままでは、使う人に何を選ぶのか伝わらないので表示を変更します。
OptionButton1をクリックすると画面左にOptionButton1のプロパティが表示されますので、7行目の項目Captionの部分が表示される名前です。
「OptionButton1」となっている名前を「男」に書き換えれば、表示名が変更できますので、同じように「OptionButton2」も「女」に書き換えましょう。
これでユーザーフォーム上のオプションボタンの準備は完了です。ただせっかくなので「性別」という枠を付けてあげると体裁が整うので、ついでに枠を付けましょう。
グループになっている枠名称変更
この枠は「フレーム」(Frame)といいます。
オプションボタンを選んだ時と同じようにツールボックスからフレームを選んでユーザーフォームに空いているスペースに配置し、名前を「Frame1」を「性別」に変更します。
次にすでに作成してある男女のオプションボタンをフレームの中に入れます。
オプションボタンがフレームの中に納まったら、再度大きさなどを好みの大きさに調整して、実際に配置したい場所に移動させます。
![オプションボタン](https://tripbowl.net/wp-content/uploads/2018/07/7bcfab4d157718a3b3a3d89cea18576a.jpg)
この時フレームを移動すれば一緒にオプションボタンもセットで動いてくれます。
これでユーザーフォームに性別を選択するオプションボタンが完成しました。
コマンドボタンで性別をセルに書き込む
オプションボタンやフレームだけでは実用的ではなく、性別を選択してコマンドボタンを押すことで、目的のセルに書き込みます。
ここでは、コマンドボタン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つ以上使うことができグループ化できます。
![オプションボタン複数](https://tripbowl.net/wp-content/uploads/2023/05/65c24f89b93a86f131c26d1997808047.jpg)
上の図は8つのオプションボタンを使用して必ず1つは選択するようにしていますが、チェック漏れも当然ありますので未選択時に警告を発するようにすることでエラーを防ぐことも重要ですよ!
![](https://tripbowl.net/wp-content/uploads/2018/07/cropped-512x512.jpg)
エラー回避の対処法は下記をご覧くださいませ
![](https://tripbowl.net/wp-content/uploads/2023/05/cad9834f40ad50a2e33e5eb2a672a2fe-300x200.jpg)
![](https://tripbowl.net/wp-content/uploads/2023/05/cad9834f40ad50a2e33e5eb2a672a2fe-300x200.jpg)
関連記事
-
セル値を自動取得してオプションボタンの状態を表示させるVBA方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態… -
オプションボタン(optionbutton)の名前変更と使い方
オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができる… -
全てのオプションボタンが未選択の時にエラーを防ぐVBA対処法
マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図…
紅葉スポット
-
縁起だるま発祥の少林山達磨寺境内の真っ赤に染まる紅葉景色へ
【紅葉見頃】11月下旬~12月上旬 高崎市内循環バス「ぐるりん」バスのフリーエリア内にあるので、縁起だるま発祥の少林山達磨寺へ紅葉の時期になったら訪れてみてはい… -
西蓮寺黄金大銀杏へ茨城県内最大級の太さ8m高さ27mの超巨木
紅葉と言えば真っ赤に染まるもみじを思い浮かべますが、いちょうの葉が黄色に染まる姿も醍醐味ですが、茨城県行方市の西連寺には樹齢1000年を超える巨大ないちょうの木… -
埼玉県第1号のダム「有間ダム」によりできた名栗湖畔の鏡面紅葉へ
初!と付くものはやっぱり宣伝したい、そして四季折々の景色が見られる自然絶景スポットならばなおさらですよね。 埼玉県飯能市にある名栗湖へ飯能駅からバスで行くこと… -
フリーきっぷで行く12月が見頃の関東近郊の紅葉スポット
渋滞避けて電車とバスでお得なフリーパスや1日乗車券を使って、のんびり紅葉を見に行きませんか? 温暖化の影響で12月上旬でも関東南部では紅葉を見られる場所がまだま… -
水上駅から利根川沿いに整備された遊歩道や諏訪峡のもみじ公園へ
水上駅の南側にバンジージャンプが体験できる有名な諏訪峡大橋には、もみじに囲まれたもみじ公園があり、ここから利根川沿いの紅葉を楽しむことができます。 そして整備… -
三国峠猿ヶ京温泉の赤谷湖畔水鏡紅葉と江戸時代の関所跡見学へ
国道17号で三国峠を目指す途中にある温泉街の猿ヶ京には、関所と相俣ダムによってできた赤谷湖が観光スポットになっています。 そして紅葉になると周囲の三国連山が綺麗…