• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

VBA KODU HK

  • Konbuyu başlatan Konbuyu başlatan üveyin
  • Başlangıç tarihi Başlangıç tarihi

üveyin

Altın Üye
Katılım
24 Nisan 2022
Mesajlar
138
Excel Vers. ve Dili
2016 tr
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

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.
 
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?
 
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
 
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

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.
 
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.
 
Geri
Üst