VBAのユーザーフォームでオプションボタンを使う方法について解説します。この記事は非エンジニアの会社員でVBAのツールでユーザーフォームの使い方を調べている方を読者に想定しています。
目次
オプションボタンを使う
まずオプションボタンとは何かについて見ていきましょう。
オプションボタンとは
オプションボタンはユーザーに選択してもらうのに使うものです。選択肢の中からひとつだけ選択するときに使います。丸の横にテキストを入れることができます。いかにも丸の部分をクリックして欲しいようなコントロールですが、テキスト部分もクリックできます。というより丸の部分とテキスト部分で一つのコントロールです。
選択肢が2個~3個程度と比較的少ない場合に、視覚的に見やすい事が特徴です。4~10個程度の時はリストボックスやコンボボックスを使う方が良いことが多いように思います。
オプションボタンを実装する
早速実装してみましょう。
ユーザーフォームの設計
オプションボタンをユーザーフォームに挿入するには、ツールボックスから丸の中に点がある絵を選択選択します。
テキストボックスの時のようにユーザーフォームの上にドラッグして、形を決めます。オプションボタンは複数の選択肢からユーザーに選択してもらうことを目的として使うため、今回のサンプルでは3個のオプションボタンと実行ボタンを設置します。
フォームモジュールにイベントプロシジャを記述する
プログラム部分を実装していきます。今回はオブジェクト名を変更していないので、それぞれのオプションボタンのオブジェクト名は、
- OptionButton1
- OptionButton2
- OptionButton3
となっています。実行ボタンもデフォルトのまま、「CommandButton1」です。
’このプロシジャはフォームモジュールに記述する。 Private Sub CommandButton1_Click() Select Case True Case OptionButton1.Value MsgBox "OptionButton1がクリックされました" Case OptionButton2.Value MsgBox "OptionButton2がクリックされました" Case OptionButton3.Value MsgBox "OptionButton3がクリックされました" End Select Unload Me End Sub
実行してみると分かりますが、オプションボタンを複数選択することはできません。択一式の選択肢のみに使えます。そこで、次は2つの別の選択肢群があると仮定して、それぞれにオプションボタンで選択肢を作る事ります。
フレームでオプションボタンをグルーピングする
ここでフレームを使います。フレームの役割はフレーム内のコントロールを一つのグループにする事です。フレームで囲むと言うより、フレームの枠の中においたコントロールが一つのグループのイメージです。
お盆の上のコップ乗せるように、フレームの上にオプションボタンなどのコントロールをのせます。
ユーザーフォーム上に6個のオプションボタンが設置されています。フレームがなければ、ひとつのオプションボタンしか選択できませんが、フレームでグルーピングしている為、フレームごとにオプションボタンをひとつずつ選択することができます。
まとめ
- オプションボタンの目的は少ない選択肢から一つを選択させる事
- フレームを使うことでオプションボタンをグルーピングできる
オプションボタンとフレームを使った活用方法についての解説は以上です。質問があれば、コメント欄からどうぞ!
<関連記事>