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