Combobox taki Şartlara Göre Filtreleme

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Günaydın arkadaşlar.

Bir konuda yardımınızı rica edeceğim. Aşağıdaki kodlarda Combo1-2-3-4'deki değerlere göre filtreleme yapıyor ve "rapor " sayfasına yazdırıyor. Yapmak istediğim ise Combo1-2-3 şartları taşıyacak ama combo4'ü şata bakmayacak. Combo4 "Bay" - "Bayan" değerleri var. Combo1-2-3 için şartları, combo4 için ise Bay ve bayan hepsini filtreleyecek. Combo4'ü boş bırakınca hiç filtreme yapmıyor ve "rapor" sayfasına bişey yazmıuor. Yardımcı olursanız sevinirim.

Set sh1 = Sheets("veri")
Set sh2 = Sheets("rapor")
'sh2.Range("A5:F65000").ClearContents

s = 5
For i = 2 To sh1.Cells(Rows.Count, 2).End(xlUp).Row
If sh1.Cells(i, 16).Value = ComboBox1.Value And sh1.Cells(i, 8).Value = ComboBox2.Value And sh1.Cells(i, 7).Value = ComboBox3.Value And sh1.Cells(i, 26).Value = ComboBox4.Value Then
sh2.Range("b" & s).Value = sh1.Cells(i, 2).Value
sh2.Range("c" & s).Value = sh1.Cells(i, 3).Value
sh2.Range("G" & s).Value = sh1.Cells(i, 4).Value
sh2.Range("E" & s).Value = sh1.Cells(i, 5).Value
sh2.Range("F" & s).Value = sh1.Cells(i, 6).Value
sh2.Range("d" & s).Value = sh1.Cells(i, 7).Value
sh2.Range("H" & s).Value = "'" & sh1.Cells(i, 9).Value & "/" & sh1.Cells(i, 10).Value
sh2.Range("I" & s).Value = sh1.Cells(i, 11).Value
sh2.Range("J" & s).Value = "'" & sh1.Cells(i, 12).Value & "/" & sh1.Cells(i, 13).Value
sh2.Range("K" & s).Value = sh1.Cells(i, 14).Value
sh2.Range("L" & s).Value = sh1.Cells(i, 20).Value
sh2.Range("M" & s).Value = sh1.Cells(i, 41).Value
sh2.Range("N" & s).Value = sh1.Cells(i, 42).Value
s = s + 1
End If
Next i
sh2.Rows("5:" & sh1.Cells(Rows.Count, 2).End(xlUp).Row).Font.Size = 8
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki satırı silin
Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value And sh1.Cells(i, 8).Value = ComboBox2.Value And sh1.Cells(i, 7).Value = ComboBox3.Value And sh1.Cells(i, 26).Value = ComboBox4.Value Then
Yerine aşağıdaki satırı kopyalayın
Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value And sh1.Cells(i, 8).Value = ComboBox2.Value And sh1.Cells(i, 7).Value = ComboBox3.Value  Then
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba.
Aşağıdaki satırı silin
Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value And sh1.Cells(i, 8).Value = ComboBox2.Value And sh1.Cells(i, 7).Value = ComboBox3.Value And sh1.Cells(i, 26).Value = ComboBox4.Value Then
Yerine aşağıdaki satırı kopyalayın
Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value And sh1.Cells(i, 8).Value = ComboBox2.Value And sh1.Cells(i, 7).Value = ComboBox3.Value  Then
Muzaffer Ali bey cevap için teşekkürler. Bazı durumlarda bay-bayan olarak ayrı ayrı filtrelemek gerekiyor. Diğer combo1-2-3 de de bazı durumlarda tümünü filtrelemek gerekiyor. Mesela Combo2 de "Sınıf Öğretmeni"-Geçici Öğretmenler"-"Ücretli Öğretmenler" ... var. Mesela Combolara "TÜMÜ" diye bir seçenek eklense Combo4 de dahil, filtreleme yaparken combo'dan tümünü seçersek o şartın tümünü filtreleme yapamaz mıyız.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
O zaman o satır yerine aşağıdaki kodu kopyalayın.

Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value Or ComboBox1.Value = "" And _
        sh1.Cells(i, 8).Value = ComboBox2.Value Or ComboBox2.Value = "" And _
        sh1.Cells(i, 7).Value = ComboBox3.Value Or ComboBox3.Value = "" And _
        sh1.Cells(i, 26).Value = ComboBox4.Value Or ComboBox4.Value = "" Then
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
O zaman o satır yerine aşağıdaki kodu kopyalayın.

Kod:
If sh1.Cells(i, 16).Value = ComboBox1.Value Or ComboBox1.Value = "" And _
        sh1.Cells(i, 8).Value = ComboBox2.Value Or ComboBox2.Value = "" And _
        sh1.Cells(i, 7).Value = ComboBox3.Value Or ComboBox3.Value = "" And _
        sh1.Cells(i, 26).Value = ComboBox4.Value Or ComboBox4.Value = "" Then
Çok teşekkürler Muzaffer Ali bey.
 
Üst