オプションボタンは複数ある項目の中でいずれか1つを選択する場合に使用します。まず、フレームをフォームに設置し、配置したフレームの中にオプションボタンを配置することにより、各オプションボタンは1つのグループとなります。例としてフレーム、オプションボタン、コマンドボタンをフォームに配置し、どのオプションボタンが選択されているかを判定するコードを記述します。
ツールボックスよりフレームのアイコンをクリックします。
フレームを配置したい場所でドラック&ドロップします。
フォームに配置できたらフレームを右クリックし、プロパティを選択します。
プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名(Frame1)が入力されているので変更します。(例ではfraTypeに変更)(オブジェクト名は変更しなくても良いのですが、後々チェックボックスが増えた場合区別がつきにくくなるので変更することをお勧めします)。
Captionをクリックし、デフォルトでCaptionに"Frame1"が入力されているので変更します。(例では血液型に変更)
次にツールボックスよりオプションボタンのアイコンをクリックします。
オプションボタンを配置したい場所でドラック&ドロップします。
フォームに配置できたらオプションボタンを右クリックしプロパティを選択します。
プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名"OptionButton1"が入力されているので変更します。(例では"optTypeA"に変更)(オブジェクト名は変更しなくても良いのですが、後々オプションボタンが増えた場合区別がつきにくくなるので変更することをお勧めします。)
Captionをクリックし、デフォルトでCaptionに"OptionButton1"が入力されているので変更します。(例ではA型に変更)
「6~10」の要領で、B型、AB型、O型のオプションボタンを配置します。
最後にツールボックスよりコマンドボタンのアイコンをクリックします。
コマンドボタンを配置したい場所でドラック&ドロップします。
>フォームに配置できたらコマンドボタンを右クリックしプロパティを選択します。
プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名(CommandButton1)が入力されているので変更します。(例ではcmdCheckに変更)(オブジェクト名は変更しなくても良いのですが、後々コマンドボタンが増えた場合区別がつきにくくなるので変更することをお勧めします。)
Captionをクリックし、デフォルトでCaption(CommandButton1)が入力されているので変更します。(例ではチェックするに変更)
コマンドボタンをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。
オプションボタンが選択されている場合は"True"を選択していない場合は"False"をVariant型で返します。
Private Sub cmdCheck_Click()~End Sub の間に以下のコードを記述します。
Private Sub cmdCheck_Click()
Dim varTypeA As Variant
Dim varTypeB As Variant
Dim varTypeO As Variant
Dim varTypeAB As Variant
varTypeA = UserForm1.optTypeA.Value
varTypeB = UserForm1.optTypeB.Value
varTypeO = UserForm1.optTypeO.Value
varTypeAB = UserForm1.optTypeAB.Value
If varTypeA = True Then
MsgBox "A型を選択しています。"
ElseIf varTypeB = True Then
MsgBox "B型を選択しています。"
ElseIf varTypeO = True Then
MsgBox "O型を選択しています。"
ElseIf varTypeAB = True Then
MsgBox "AB型を選択しています。"
Else
MsgBox "血液型を選択してください。"
End If
End Sub
実行→Sub/ユーザーフォームの実行をクリックするか〔F5〕ボタンを押します。
任意のオプションボタンを選択し、ボタンをクリックすると"~型です。"とメッセージボックスが表示されます。