オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように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対処法
マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図… -
オプションボタン(optionbutton)の名前変更と使い方
オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができる… -
セル値を自動取得してオプションボタンの状態を表示させるVBA方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態…
紅葉スポット
-
宝徳寺の紅葉へ関東では貴重な本堂の床に反射する床もみじが見られる
【紅葉見頃】10月中旬~11月下旬 京都でたくさんのお寺で見られる本堂の床に映り込んで真っ赤な紅葉が見られる床もみじが、関東では貴重で群馬県桐生市にある宝徳寺で… -
八ッ場ダムの近くにある鹿飛橋と白絹の滝へ吾妻渓谷の紅葉へ
何かと話題の群馬県の八ッ場ダムの近くにある吾妻渓谷は、吾妻川の水が侵食して深い峡谷を作った為に、自然にできた谷深い峡谷となっています。 その吾妻側の周りの木々… -
旧碓氷峠見晴台へバスで旧軽井沢駅から紅葉展望へ滞在時間20分
軽井沢と言えば長野県ですが、旧碓氷峠見晴台は長野県と群馬県の県境に位置するのですが、群馬県の観光スポットというよりは、長野県ですね。 ここ旧碓氷峠見晴台からは… -
フリーきっぷで行く群馬県内の紅葉名所や穴場スポット21選
渋滞避けて電車とバスでのんびり紅葉を見に行きませんか?群馬県の山間部ならば9月中旬頃から紅葉が見られる名所・スポットがありますので、少し早い秋の訪れを感じに出… -
奥日光湯滝や湯ノ湖へ東武バスの湯元温泉フリーパス終点の観光名所へ
【紅葉見頃】 10月中旬~10月下旬 紅葉時期の日光なのに空いている穴場スポットの湯滝や湯ノ湖をご存知ですか? 中禅寺湖周辺から戦場ヶ原を通り過ぎてさらに奥へ進む… -
龍王峡駅から徒歩で紅葉や虹見の滝へ鬼怒川温泉駅からバスなら10分
【紅葉見頃】10月下旬~11月中旬 鬼怒川温泉と川治温泉の間に位置して、鬼怒川沿いに龍王峡自然研究路をいう遊歩道が整備されているので、火山の噴火によってできた岩…