Vba: otomatik filtre birden çok kriterle nasıl kullanılır?


VBA’da Otomatik Filtre’yi birden çok ölçütle kullanmak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Otomatik Filtreyi Tek Bir Sütunda Birden Çok Kriterle Kullanma

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Bu özel makro, ilk sütunun değerinin “A” veya “C”ye eşit olduğu A1:C11 aralığındaki tüm satırları filtreleyecektir.

Yöntem 2: Otomatik Filtreyi Birden Çok Sütunda Birden Çok Ölçütle Kullanma

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Bu özel makro, yalnızca ilk sütunun “A” ve ikinci sütunun “Koruma” olduğu satırları gösterecek şekilde A1:C11 aralığını filtreleyecektir.

Aşağıdaki örnekler, Excel’deki aşağıdaki veri kümesiyle bu yöntemlerin her birinin pratikte nasıl kullanılacağını gösterir:

Örnek 1: Bir Sütunda Birden Çok Kriterle Otomatik Filtreyi Kullanma

Diyelim ki veri kümesini yalnızca ilk sütunu “A” veya “C”ye eşit olan satırları gösterecek şekilde filtrelemek istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Veri kümesinin yalnızca ilk sütunu “A” veya “C”ye eşit olan satırları gösterecek şekilde filtrelendiğini unutmayın.

Not : Array() işlevine yalnızca iki olası değer ekledik, ancak istediğiniz kadar değer eklemekten çekinmeyin.

Örnek 2: Otomatik filtreyi birden çok sütunda birden çok ölçütle kullanma

Veri kümesini yalnızca Ekip sütunu değerinin A’ya ve Konum sütunu değerinin Koruma’ya eşit olduğu satırları gösterecek şekilde filtrelemek istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Veri kümesinin yalnızca Takım sütunundaki değerin A’ya eşit olduğu ve Konum sütunundaki değerin Koruma’ya eşit olduğu satırları gösterecek şekilde filtrelendiğini fark ettim.

Not : VBA Otomatik Filtreleme yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Pivot tabloları filtreleme
VBA: Filtreler nasıl temizlenir?
VBA: yinelenen değerler nasıl kaldırılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir