- ベストアンサー
Excel VBAのコンボボックスにて条件で絞込みをしたいのですが
いつもお世話になっています。 コンボボックスの3個目が表示されません。 コンボボックス1と2はうまく表示されます。 よろしくお願いします。 Private Sub ComboBox2_Change() Dim ico As Long ico = 1 With ThisWorkbook.Worksheets("data") KEY = Me.ComboBox1.Text KET2 = Me.ComboBox2.Text KET3 = Me.ComboBox3.Text Me.ComboBox3.Clear Do While .Cells(ico, 1) <> "" If .Cells(ico, 1) = KEY And .Cells(ico, 2) = KEY2 Then ITE = .Cells(ico, 3).Value flg = 0 For I = 0 To Me.ComboBox3.ListCount - 1 If ITE = Me.ComboBox3.List(I) Then flg = 1 Next If flg = 0 Then Me.ComboBox3.AddItem ITE End If ico = ico + 1 Loop End With Me.ComboBox3.SetFocus End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これは本物のソースからコピーしたものでしょうか? KET2 = Me.ComboBox2.Text KET3 = Me.ComboBox3.Text KETでなくてKEYではないでしょうか。それで If .Cells(ico, 1) = KEY And .Cells(ico, 2) = KEY2 Then このIf文が成立しないのでは。 Option Explicit を宣言しておけば、宣言されていない変数を使うとエラーになるので、変数名を間違えてもエラーになってくれるので、こういうケースを未然に防げます。 単にコピーするときの転記ミスで、的外れだったらすみません。
その他の回答 (1)
- onlyrom
- ベストアンサー率59% (228/384)
こんにちは。 変数のタイプミスあり。 ●KET2 = Me.ComboBox2.Text KET2 を下記のように、KEY2 で比較している If .Cells(ico, 1) = KEY And .Cells(ico, 2) =● KEY2 ● Then また、質問の件では関係ないが KET3 = Me.ComboBox3.Text これも恐らく KEY3 では? 以上。
お礼
ほんとにすみません。ヽ(^^ゞ 情けないです。 何回自分で見てもわからなかったのです。 思いこみですね。 ありがとうございました。
お礼
ほんとに入力ミスでした。(T_T) 何回もやってもダメなハズです。 すみませんでした。