かっきぃーの雑記帳

おもしろき こともなき世に おもしろく

選べるのはひとつ!オプションボタン(OptionButton)(その2)[とりあえず使えるエクセルユーザーフォーム超入門]

Lesson4 使えるようになっておきたい基本機能

もうちょっと使える表現にしてみる

その1ではオプションボタンの基本的な使い方を紹介しました。ここでは、もう少し実用的な体裁にする方法について紹介します。選択した結果を"True" か "False" の表記ではなく、選択したものを表示させたいと思います。

チェックボックスで紹介したのと同様にIf文を使って OptionButton1 が "True" か "False" のどちらかを確認し、それに応じて、適切な文章を表示させる事例にて説明します。

Private Sub CommandButton1_Click()
   If OptionButton1.Value = "True" Then
       ' OptionButton1.Value = "True" の場合の処理
       MsgBox OptionButton1.Caption & "を選びました。"
   ElseIf OptionButton2.Value = "True" Then
      ' OptionButton2.Value = "True" の場合の処理
       MsgBox OptionButton2.Caption & "を選びました。"
   Else
       ' どれも選択しなかった場合の処理
       MsgBox "どれも選択していません。"
   End If
   End
End Sub

エクセルVBA オプションボタンの実行例

うなぎ味以外に、適切に当てはまるものってあるのかなあ。

スポンサーリンク

 

 

オプションボタンを2セット用意する方法 ~オプションボタンのグループ化

オプションボタンは、究極の選択なので1つしか選べません。しかし、ひとつのユーザーフォーム上で2つの究極の選択をさせたいとします。このとき、単にオプションボタンを増やしただけだと、究極の選択(1)と究極の選択(2)の4つの選択肢からしか選べないようになっています。

エクセルVBA オプションボタン グループ化の前

これを解決するにはオプションボタンのグループ化を行います。設定方法は「プロパティ値(GroupName)でグループ化」、「VBAコードでグループ化」といった主に2種類があります。

 

プロパティ値(GroupName)でグループ化

プロパティの「GroupName」に同じ名称を入れることで、グループ化することができます。

エクセルVBA オプションボタン グループ化設定方法

 

VBAコードでグループ化

VBAコードでグループ化することもできます。

Private Sub UserForm_Initialize()
   OptionButton1.GroupName = "選択肢1"
   OptionButton2.GroupName = "選択肢1"
   OptionButton3.GroupName = "選択肢2"
   OptionButton4.GroupName = "選択肢2"


   OptionButton1.Caption = "チョコ味のう○○"
   OptionButton2.Caption = "う○○味のチョコ"
   OptionButton1.Value = "True"
   OptionButton3.Caption = "チョコ味のうなぎパイ"
   OptionButton4.Caption = "うなぎパイ味のチョコ"
   OptionButton3.Value = "True"
End Sub

 

OptionButton1.Value の初期値を指定する前に、グループ化を完了しておく必要があります。 

スポンサーリンク

[次回公開]入力に応じてリアルタイムにフォームを拡張する

                  10   11   12   13   14

とりあえず使えるエクセルユーザーフォーム超入門(もくじ)

 

スポンサーリンク

 


#エクセル #Excel #ユーザーフォーム #マクロ #VBA