Birden fazla kriterde otomatik filtreleme

kahramang1

Altın Üye
Katılım
21 Şubat 2007
Mesajlar
355
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Altın Üyelik Bitiş Tarihi
05-05-2025
Merhabalar. Ekli dosyadaki vba kodlarını bir örnek vide izleyerek yamıştım. Dosyada sadece D2 hücresine herhangi bir değer yazıldığı zaman falitreleme yapıyor. Sizlerden ricam D3 ve D4 hücrelerine de herhangi birşey yazdığımda arama yapmasıdır. Kodda gerekli düzeltmeyi yapıp bana gönderirseniz sevinirim.
Teşekkürler. Kolay gelsin.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
 

Ekli dosyalar

kahramang1

Altın Üye
Katılım
21 Şubat 2007
Mesajlar
355
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Altın Üyelik Bitiş Tarihi
05-05-2025
Teşekkür ederim ilginiz için. Bu dosyada veri silindiği zaman tüm değerler aşağıya gelmiyor. Onu da hallederseniz sanırım sorun çözülecek.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Row <> 3 Then Exit Sub
    If WorksheetFunction.CountA(Rows(3)) = 0 Then ActiveSheet.ShowAllData
    Range("a4:m" & [a65536].End(3).Row).AdvancedFilter xlFilterInPlace, [a2:m3], , False
End Sub
 

kahramang1

Altın Üye
Katılım
21 Şubat 2007
Mesajlar
355
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Altın Üyelik Bitiş Tarihi
05-05-2025
Bu şekilde doğru çalıştı. Ellerinize sağlık. Yalnız arama alanında aradığım değerin başına * işareti koymazsam filtreleme yapmıyor. Bu da düzeltilebilir mi acaba kodda. Baş tarafına * koymadan herhangi birkaç değer girdiğimde tüm o değerleri içerenleri listeleyebilir miyiz? Teşekkürler.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Excel versiyonundan kaynaklanıyor olabilir bende doğru çalışıyor. 2003 versiyonu nasıldı hatırlamıyorum. Aşağıdaki gibi dener misiniz ?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Row <> 3 Then Exit Sub
    Target.Text = "*" & Target
    'If WorksheetFunction.CountA(Rows(3)) = 0 Then
    ActiveSheet.ShowAllData
'  End If
    
    Range("a4:m" & [a65536].End(3).Row).AdvancedFilter xlFilterInPlace, [a2:m3], , False
End Sub
 

kahramang1

Altın Üye
Katılım
21 Şubat 2007
Mesajlar
355
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Altın Üyelik Bitiş Tarihi
05-05-2025
Microsoft Office ev ve iş 2016 versiyonunu kullanıyorum. Bu da olmadı maalesef. Artık baş tarafına * koyarak kullanırım. İlgi ve alakanız için çok teşekkür ederim. Kolay gelsin.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayın kahramang1, profilinizde 2003 görünüyor, değiştirebilir misiniz ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif olarak ekteki dosyayı deneyiniz. Umarım sizde sorun çıkartmaz.

J2:L3 hücrelerini görmek istemezseniz yazı rengini beyaz yaparak gizleyebilirsiniz.
 

Ekli dosyalar

kahramang1

Altın Üye
Katılım
21 Şubat 2007
Mesajlar
355
Excel Vers. ve Dili
Microsoft Ev ve Ofis 2016
Altın Üyelik Bitiş Tarihi
05-05-2025
Alternatif olarak ekteki dosyayı deneyiniz. Umarım sizde sorun çıkartmaz.

J2:L3 hücrelerini görmek istemezseniz yazı rengini beyaz yaparak gizleyebilirsiniz.
Bu dosya tam istediğim gibi oldu Korhan bey. İlgilenen herkese çok teşekkür eder, kolaylıklar dilerim.
 
Üst