こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2007-01-14 12:24:45

QNo.2665289

すぐに回答ほしいです

質問者が選んだベストアンサー

これは本物のソースからコピーしたものでしょうか?

KET2 = Me.ComboBox2.Text
KET3 = Me.ComboBox3.Text

KETでなくてKEYではないでしょうか。それで
If .Cells(ico, 1) = KEY And .Cells(ico, 2) = KEY2 Then
このIf文が成立しないのでは。

Option Explicit を宣言しておけば、宣言されていない変数を使うとエラーになるので、変数名を間違えてもエラーになってくれるので、こういうケースを未然に防げます。

単にコピーするときの転記ミスで、的外れだったらすみません。

投稿日時 - 2007-01-14 14:00:54

お礼

ほんとに入力ミスでした。(T_T)
何回もやってもダメなハズです。
すみませんでした。

投稿日時 - 2007-01-14 14:10:41

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんにちは。

変数のタイプミスあり。

●KET2 = Me.ComboBox2.Text

KET2 を下記のように、KEY2 で比較している

If .Cells(ico, 1) = KEY And .Cells(ico, 2) =● KEY2 ● Then
 
また、質問の件では関係ないが
  KET3 = Me.ComboBox3.Text
これも恐らく
  KEY3 では?

以上。
   

投稿日時 - 2007-01-14 13:58:23

お礼

ほんとにすみません。ヽ(^^ゞ
情けないです。
何回自分で見てもわからなかったのです。
思いこみですね。
ありがとうございました。

投稿日時 - 2007-01-14 14:12:38

あなたにオススメの質問