オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように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方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態…
紅葉スポット
-
日光白根山ロープウェイで標高1400mから2000mの紅葉遊覧へ
丸沼高原といえば首都圏から日帰りで行くことができるスキー場ですが、秋の紅葉シーズンになるとひと足早く木々が色づき、リフトから山頂へ向かえば紅葉絶景の景色が広… -
亀山湖畔の紅葉へ上総亀山駅から徒歩で行けて滞在時間2時間半
ダムによってできた湖・亀山湖には湖畔を周回できるサイクリングロードやボートハウスがあり、風の弱い日には湖面に反射する紅葉景色が鏡のように見られます。 最寄り駅… -
八ッ場ダムの近くにある鹿飛橋と白絹の滝へ吾妻渓谷の紅葉へ
何かと話題の群馬県の八ッ場ダムの近くにある吾妻渓谷は、吾妻川の水が侵食して深い峡谷を作った為に、自然にできた谷深い峡谷となっています。 その吾妻側の周りの木々… -
茨城県大子町の永源寺へ常陸大子駅から徒歩圏内の紅葉スポットへ
【紅葉見頃】 茨城県の大子町に紅葉名所の「永源寺」があり、境内を埋め尽くすほどのもみじの木があることから「もみじ寺」と呼ばれています。 近くには名瀑で有名な… -
フリーきっぷで行く12月が見頃の関東近郊の紅葉スポット
渋滞避けて電車とバスでお得なフリーパスや1日乗車券を使って、のんびり紅葉を見に行きませんか? 温暖化の影響で12月上旬でも関東南部では紅葉を見られる場所がまだま… -
紅葉の日光戦場ヶ原の散策路へバスで中禅寺湖から滞在時間100分
9月下旬から10月下旬になると奥日光では紅葉の見頃シーズンとなり、土日ともなると日光いろは坂は大渋滞になるほど人気スポットなのは昔も今も変わりませんね。 特にこ…