オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように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つは選択するようにしていますが、チェック漏れも当然ありますので未選択時に警告を発するようにすることでエラーを防ぐことも重要ですよ!
エラー回避の対処法は下記をご覧くださいませ
関連記事
-
全てのオプションボタンが未選択の時にエラーを防ぐVBA対処法
マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図… -
セル値を自動取得してオプションボタンの状態を表示させるVBA方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態… -
オプションボタン(optionbutton)の名前変更と使い方
オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができる…
紅葉スポット
-
龍王峡駅から徒歩で紅葉や虹見の滝へ鬼怒川温泉駅からバスなら10分
【紅葉見頃】10月下旬~11月中旬 鬼怒川温泉と川治温泉の間に位置して、鬼怒川沿いに龍王峡自然研究路をいう遊歩道が整備されているので、火山の噴火によってできた岩… -
透明度抜群の丸沼ダムのダム湖に紅葉景色が反射する秋らしい絶景へ
丸沼といえば丸沼高原スキー場が有名で、日光と沼田の中間に位置しているので、日光駅からでも沼田駅からも丸沼ダムへバスで紅葉を見に行くことができます。 特に東武鉄… -
紅葉の寸又峡コバルトブルーの夢の吊橋へ滞在時間2時間
サンドウィッチマンとゲストがバスで旅するバスサンドの放送を見て、ビックリするほど綺麗なコバルトブルーの湖にかかる吊り橋がとても気になったので、夏に青春18きっ… -
中禅寺湖湖畔の紅葉散策へ奥日光の大定番紅葉観光スポットへ
中禅寺湖観光の中禅寺温泉バスターミナルから華厳の滝や中禅寺湖畔散策へ紅葉を楽しみに訪れる方も多く、紅葉見頃になるといろは坂からの大渋滞に巻き込まれ1時間以上、… -
三国峠猿ヶ京温泉の赤谷湖畔水鏡紅葉と江戸時代の関所跡見学へ
国道17号で三国峠を目指す途中にある温泉街の猿ヶ京には、関所と相俣ダムによってできた赤谷湖が観光スポットになっています。 そして紅葉になると周囲の三国連山が綺麗… -
中禅寺湖を上から見られる絶景ポイント半月山展望台へ滞在時間50分
【紅葉見頃】10月中旬~11月上旬 最近インターネットや雑誌などで日光を紹介する時によく見る機会がある、中禅寺湖を上から撮った写真の場所ってどこだろうって思いま…