- Katılım
- 30 Mart 2010
- Mesajlar
- 240
- Excel Vers. ve Dili
- 2007,2010,2013
- Altın Üyelik Bitiş Tarihi
- 29-05-2021
Merhaba,
5 adet combobox ile birbiriyle bağlantılı şekilde filtreleme yapmak istiyorum. Tüm olasılıkları aşağıdaki koddaki gibi teker teker yazmalı mıyım yoksa bir kısa yolu var mıdır?
Teşekkürler.
5 adet combobox ile birbiriyle bağlantılı şekilde filtreleme yapmak istiyorum. Tüm olasılıkları aşağıdaki koddaki gibi teker teker yazmalı mıyım yoksa bir kısa yolu var mıdır?
Teşekkürler.
Kod:
Private Sub ComboBox_fil_Change()
Worksheets(5).Range("A2:AU65500").ClearContents
Worksheets(4).Activate
Range("A1").Select
fsatir = Worksheets(4).Range("A1:A65500").Find("*", , , , xlByRows, xlPrevious).Row
Selection.AutoFilter
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value = "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3 ', Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value = "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7 ', Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value = "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4 ', Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value = "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6 ', Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value = "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5 ', Criteria1:=ComboBox_fyuk.Value
End With
End If
If ComboBox_fil.Value <> "-TÜMÜ-" And ComboBox_fay.Value <> "-TÜMÜ-" And ComboBox_fis.Value <> "-TÜMÜ-" _
And ComboBox_fyil.Value <> "-TÜMÜ-" And ComboBox_fyuk.Value <> "-TÜMÜ-" Then
With Range("A1:AU" & fsatir)
.AutoFilter Field:=3, Criteria1:=ComboBox_fil.Value
.AutoFilter Field:=7, Criteria1:=ComboBox_fay.Value
.AutoFilter Field:=4, Criteria1:=ComboBox_fis.Value
.AutoFilter Field:=6, Criteria1:=ComboBox_fyil.Value
.AutoFilter Field:=5, Criteria1:=ComboBox_fyuk.Value
End With
End If
Intersect(Worksheets(4).UsedRange, Worksheets(4).UsedRange.Offset(1)).SpecialCells(xlCellTypeVisible).Copy
Worksheets(5).Cells(2, 1).End(xlUp).Offset(1).PasteSpecial xlPasteValues
fsatir = Worksheets(5).Range("A" & Rows.Count).End(xlUp).Row
Worksheets(5).Range(Worksheets(5).Cells(fsatir + 1, 8), Worksheets(5).Cells(fsatir + 1, 8)).Value = "TOPLAM : "
For i = 9 To 47
toplam = Application.WorksheetFunction.Sum(Worksheets(5).Range(Worksheets(5).Cells(2, i), Worksheets(5).Cells(fsatir, i)))
Worksheets(5).Range(Worksheets(5).Cells(fsatir + 1, i), Worksheets(5).Cells(fsatir + 1, i)).Value = toplam
Next
Worksheets(5).Activate
ListBox4.RowSource = "'" & Sayfa5.Name & "'!a2:au" & [h65500].End(xlUp).Row
End Sub