dポイントプレゼントキャンペーン実施中!

4月からマクロを勉強し始めて、壁にぶつかっています。
ユーザーフォームでオプションボタンの下にコンボボックス(1)を、そのさらに下にもうひとつコンボボックス(2)をレイアウトしました。
コンボボックス(1)は選ばれたオプションボタンによって、異なるリストを表示させるようにしてあります。
わからないのは、コンボボックス(2)のリストをコンボボックス(1)で選ばれた文字によって変えたいのです。
たとえば、コンボボックス(1)で"A"と選択されたら、コンボボックス(2)にはリストA'が、(1)で"B"と選択されたら、(2)にはりすとB'が…、というように、場合分けさせたいのです。
方法をご存知の方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。

A 回答 (3件)

Private Sub ComboBox1_Click()


With Me.ComboBox2
.Clear
Select Case Me.ComboBox1.Text
Case "a"
.AddItem "A"
.AddItem "B"
Case "b"
.AddItem "C"
.AddItem "D"
End Select
End With
End Sub

Private Sub UserForm_Activate()
With Me.ComboBox1
.AddItem "a"
.AddItem "b"
End With
End Sub

#1ではAddItemをAddと間違えていましたが
上記コードでうまくいきましたけど・・・。
前後のコードがなにか邪魔しているとか?
ちなみに上記ではコンボ1のClickイベントを使用していますが、Changeイベントでもうまくいきました。
    • good
    • 0
この回答へのお礼

あ!できていました!
ありがとうございました。
Me.と入れただけで動くようになるなんて。
お手数おかけしました。これからもっと勉強をしていきます。

お礼日時:2003/05/30 10:31

NO.1の方の回答でほぼ合ってますが、


Combobox1_Clickではなくて
ComboBox1_Changeに同じコードを書けばいいですね。
    • good
    • 0

テストしていないので間違っていたらごめんなさい(^-^;



コンボ(1)が切り替えられたら(Clickイベントでいいかな・・・?)、
コンボ(2)のAdd前にClearメソッドで一旦リストを消去。
それから改めてコンボ(1)の内容に対応するリストを追加します。

例えば、Combobox1_Clickイベント内にて
With Combobox2
 .Clear
 Select Case Combobox1.Text
  Case "A"
   .Add "あ"
   .Add "い"
  Case "B"
   .Add "か"
   .Add "き"
 End Select
End With
上記コードで、Combobox1で"A"が選択されていれば"あ"、"い"を
"B"が選択されていれば"か"、"き"を表示することができます。
    • good
    • 0
この回答へのお礼

早々のお返事、ありがとうございました。
実は、SelectCaseを使ったプログラムは先に試していて、エラーにはならないもののコンボボックス(2)のリストには何も出て来ませんでした。
ほかの方法をご存知でしたら、お手数ですがお知らせください。

お礼日時:2003/05/28 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!