VBA KODU HK

üveyin

Altın Üye
Katılım
24 Nisan 2022
Mesajlar
115
Excel Vers. ve Dili
2016 tr
Altın Üyelik Bitiş Tarihi
24-04-2027
merhabalar ekli dosyamda çoklu filtreleme yapmak istiyorum sayfamın içinde mevcut bir kod var ama sadece tek bir sutunda arama yapıyor. tüm satırlarda arama çubuğuna yazdım kriteri arasın istesem mümkünmüdür.
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Kodlarınızda bulunan
Kod:
ActiveSheet.Range("B4:S1000000").AutoFilter Field:=1, Criteria1:="*" & arama & "*"
satırı filtre yapar.
Bu satırı çoğaltarak diğer alanlarda da filtre yapabilirsiniz.
Yukarıdaki satır filtre alanının 1. kolonunu filtreler.
Siz eğer 5. ve 6. kolonu da eklemek isterseniz kodlarınız aşağıdaki gibi olmalı.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Arama As String
    On Error Resume Next
    Arama = Worksheets("MFLY").Range("D2").Value
    If Arama = "" Then
        ActiveSheet.ShowAllData
    Else
        ActiveSheet.Range("B4:S1000000").AutoFilter Field:=1, Criteria1:="*" & Arama & "*"
        ActiveSheet.Range("B4:S1000000").AutoFilter Field:=5, Criteria1:="*" & Arama & "*"
        ActiveSheet.Range("B4:S1000000").AutoFilter Field:=6, Criteria1:="*" & Arama & "*"
    End If
End Sub
Not: Dikkat edin Field:=1 A kolonunu ifade etmiyor filtre yapılan kolonların 1. sini ifade ediyor. Sizin dosyanızda 1 C kolonunu ifade ediyor.
 

üveyin

Altın Üye
Katılım
24 Nisan 2022
Mesajlar
115
Excel Vers. ve Dili
2016 tr
Altın Üyelik Bitiş Tarihi
24-04-2027
Muzaffer Ali bey öncelikle emeğiniz için çok teşekkür ederim. ( C ) & ( D ) sütünlarındaki verileri süzmesi için *128* araması yaptığımda tüm süzgeçler kapalı kalıyor , dosyamda 128 içeren satırlar mevcut ben mi yapamadım acaba?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Kod aşağıdaki gibi olmalı.
Örnek dosyada hem C de ve hem D de 128 rakamını içeren bir satır var.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Arama As String
    On Error Resume Next
    Arama = Worksheets("MFLY").Range("D2").Value
    If Arama = "" Then
        ActiveSheet.ShowAllData
    Else
        ActiveSheet.Range("B4:S1000000").AutoFilter Field:=1, Criteria1:="*" & Arama & "*"
        ActiveSheet.Range("B4:S1000000").AutoFilter Field:=2, Criteria1:="*" & Arama & "*"
    End If
End Sub
 

üveyin

Altın Üye
Katılım
24 Nisan 2022
Mesajlar
115
Excel Vers. ve Dili
2016 tr
Altın Üyelik Bitiş Tarihi
24-04-2027
hocam 128 olan satırları süzdüğünde sadece tek satır çıkıyor yanlış bir şey mi yapıyorum acaba önüne * arkasına * koydum değişmedi sizi ugraştırdım ama hakkınızı helal edin.
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Gelişmiş filtre kullanmalısınız.
Yapmanız gerekenleri örnek dosyanıza göre tek tek anlatıyorum.

1- U1'e KODU yazın.
2- V1'e ADI yazın.
3- U2'ye *128* yazın.
4- V3'e *128* yazın.
5- Veri sekmesi, Filtre uygula Gelişmiş seçin.
6- Açılan pencerede Liste Aralığı: $C$4:$S$21006 (Verilerin bulunduğu alan) yazın.
7- Ölçüt aralığı: $U$1:$V$3 yazın.
8- Tamamı tıklatın.

Eğer olmazsa yanlış bir şey yapmış olmalısınız, yeniden yapın.
 

üveyin

Altın Üye
Katılım
24 Nisan 2022
Mesajlar
115
Excel Vers. ve Dili
2016 tr
Altın Üyelik Bitiş Tarihi
24-04-2027
hocam teşekkür ederim elinize sağlık. bu formül çalışıyor ben yanlış anlattım galiba 128 söylerken sadece 128 olan degil sayfada arama yaparken kodun yada adın tüm içeriğini yazmadan kısa cümlelerle içeren ne varsa süzer mi,bu kısmı yanlış olarak anlattım galiba.
 
Üst