- ベストアンサー
EXCEL VBA コンボボックスでのLISTINDEXの値
初めて質問させていただきます。 EXCEL VBAでコンボボックスを設定したときのLISTINDEXの値についてですが、 コンボボックスがフォーム内に3つ(ComboBox1,2,3)あり、次のようなコードの入力を行い、 ComboBox1 Sub Userform_Intialize() With CcomboBox1 AddItem"AAA" '・・・ここの値は0ですね AddItem"BBB" '・・・ここの値は1ですね End With End Sub sub ComboBox1_Change() Me.combobox2.Clear Select Case Me.ComboBox1.ListIndex Case 0 Me.ComboBox2.AddItem "2AAA" '・・・ここの値は0ですね Me.ComboBox2.AddItem "2BBB" '・・・ここの値は1ですね Case 1 Me.ComboBox2.AddItem "2CCC" '・・・ここの値は何になりますか? Me.ComboBox2.AddItem "2DDD" '・・・ここの値は何になりますか? End Select End Sub このcombobox2の4つの項目から、 更にcombobox3の選択項目に分岐するように設定したいのです。 わかりやすいように、ComboBox3もComboBox2のように作成したいのですが、 このように入力した場合、ComboBox2で"2CCC"を選択した場合、 ListIndexの値が2ではないようなのです。 この"2CCC"と"2DDD"のListIndex値はいくつになるのでしょうか? どなたか教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Me.combobox2.Clear<=としているので Select Case Me.ComboBox1.ListIndex Case 0 Me.ComboBox2.AddItem "2AAA" '・・・ここの値は0ですね Me.ComboBox2.AddItem "2BBB" '・・・ここの値は1ですね Case 1 Me.ComboBox2.AddItem "2CCC" '・・・ここの値は何 0 Me.ComboBox2.AddItem "2DDD" '・・・ここの値は何 1 End Select ではないでしょうか? 試しに、 Sub ComboBox2_Change() MsgBox ComboBox2.ListIndex End Sub といれて、ComboBox2を操作してみては如何でしょう。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
>Me.ComboBox2.AddItem "2CCC" '・・・ここの値は何になりますか? >Me.ComboBox2.AddItem "2DDD" '・・・ここの値は何になりますか? 検証してないですが、0と1ではないでしょうか? Select Case で Me.ComboBox1.ListInde の値が0か1かで処理を変えてますから、 ComboBox2 に4つの値が入らないのでは?
お礼
どうも有難うございます。その通りでした。