sayın hocalarım merhaba
bir userformum var bu formda bulunan listbox a 3 combobox ile filtreleme yapıyorum buraya kadar sorun yok ancak örneğin istanbulu filtreliyorum daha sonra muhasebe yi filtreliyince tüm illerde ki muhasebe geliyor kodum aşağıda ne yanlış var acaba burada
1 nci combobaxın kodu
Private Sub ComboBox1_Change()
On Error Resume Next
Dim k As Range, adrs As String, j As Byte, a As Long, myarr()
ReDim myarr(2 To 6, 1 To 1)
With Worksheets("Ana Tablo")
Me.ListBox1.RowSource = vbNullString
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(ComboBox1.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
ReDim Preserve myarr(2 To 6, 1 To a)
For j = 2 To 6
myarr(j, a) = .Cells(k.Row, j).Value
Next j
Set k = .Range("C2:C65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ListBox1.Column = myarr
End If
End With
end sub
2nci combobox ın kodu
Private Sub ComboBox2_Change()
Dim k As Range, adrs As String, j As Byte, a As Long, myarr()
ReDim myarr(2 To 6, 1 To 1)
With Worksheets("Ana Tablo")
Me.ListBox1.RowSource = vbNullString
If .FilterMode Then .ShowAllData
Set k = .Range("b2:b65536").Find(ComboBox2.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
ReDim Preserve myarr(2 To 6, 1 To a)
For j = 2 To 6
myarr(j, a) = .Cells(k.Row, j).Value
Next j
Set k = .Range("b2:b65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ListBox1.Column = myarr
End If
End With
End Sub
bir userformum var bu formda bulunan listbox a 3 combobox ile filtreleme yapıyorum buraya kadar sorun yok ancak örneğin istanbulu filtreliyorum daha sonra muhasebe yi filtreliyince tüm illerde ki muhasebe geliyor kodum aşağıda ne yanlış var acaba burada
1 nci combobaxın kodu
Private Sub ComboBox1_Change()
On Error Resume Next
Dim k As Range, adrs As String, j As Byte, a As Long, myarr()
ReDim myarr(2 To 6, 1 To 1)
With Worksheets("Ana Tablo")
Me.ListBox1.RowSource = vbNullString
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(ComboBox1.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
ReDim Preserve myarr(2 To 6, 1 To a)
For j = 2 To 6
myarr(j, a) = .Cells(k.Row, j).Value
Next j
Set k = .Range("C2:C65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ListBox1.Column = myarr
End If
End With
end sub
2nci combobox ın kodu
Private Sub ComboBox2_Change()
Dim k As Range, adrs As String, j As Byte, a As Long, myarr()
ReDim myarr(2 To 6, 1 To 1)
With Worksheets("Ana Tablo")
Me.ListBox1.RowSource = vbNullString
If .FilterMode Then .ShowAllData
Set k = .Range("b2:b65536").Find(ComboBox2.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
ReDim Preserve myarr(2 To 6, 1 To a)
For j = 2 To 6
myarr(j, a) = .Cells(k.Row, j).Value
Next j
Set k = .Range("b2:b65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ListBox1.Column = myarr
End If
End With
End Sub