• 締切済み

オプションボタンでリストボックスの表示を切り替え

VBAの初心者です。 知恵をお貸しください。 ユーザーフォーム内にオプションボタンを2つ、リストボックスが1つ配置してあります。オプションボタン1でデータ1がリストボックス内に表示。オプションボタン2でデータ2がリストボックスに表示されてます。この時、2つのデータが同時に表示されてしまいます。オプションボタン1の時は1のデータ、オプションボタン2の時は2のデータだけを表示させるにはコードをどのように書けばいいかご教授ください。宜しくお願い致します。

みんなの回答

回答No.2

複数のアイテムをリストボックスに登録するには・・ 例えば、おっしゃる  データ1 ⇒ A1:A3 の範囲  データ2 ⇒ B1:B3 の範囲 に用意されているとして。 Private Sub OptionButton1_Click()   ListBox1.Clear   For Each a In Range("A1:A3")     ListBox1.AddItem a.Value   Next End Sub Private Sub OptionButton2_Click()   ListBox1.Clear   For Each a In Range("B1:B3")     ListBox1.AddItem a.Value   Next End Sub こんな書き方もあります。 データの範囲に名前がついていれば、例えば Private Sub OptionButton1_Click()   ListBox1.Clear   For Each a In Range("データ1")     ListBox1.AddItem a.Value   Next End Sub こんな書き方もできますよ。 後々を考えるとこちらの方が便利かもです。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

なぜListBoxを使うのかわかりませんが こんなカンジでしょうか。 Private Sub OptionButton1_Change()  If OptionButton1.Value = True Then   ListBox1.Clear   ListBox1.AddItem "ABCDE"  End If End Sub Private Sub OptionButton2_Click()  If OptionButton2.Value = True Then   ListBox1.Clear   ListBox1.AddItem "FGHI"  End If End Sub

関連するQ&A