- 締切済み
オプションボタンでリストボックスの表示を切り替え
VBAの初心者です。 知恵をお貸しください。 ユーザーフォーム内にオプションボタンを2つ、リストボックスが1つ配置してあります。オプションボタン1でデータ1がリストボックス内に表示。オプションボタン2でデータ2がリストボックスに表示されてます。この時、2つのデータが同時に表示されてしまいます。オプションボタン1の時は1のデータ、オプションボタン2の時は2のデータだけを表示させるにはコードをどのように書けばいいかご教授ください。宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tsubu-yuki
- ベストアンサー率46% (179/386)
複数のアイテムをリストボックスに登録するには・・ 例えば、おっしゃる データ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)
なぜ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