Vba kullanarak bir sütunu filtreleme (örneklerle)
VBA’yı kullanarak Excel’de sütuna göre filtrelemek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Bir sütunun değerine göre filtreleme
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Bu özel makro, yalnızca ilk sütunu F2 hücresinin değerine eşit olan satırları gösterecek şekilde A1:C11 aralığını filtreleyecektir.
Yöntem 2: Birden çok sütun değerine göre filtreleme
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Bu özel makro, yalnızca ilk sütunu F2 veya F3 hücresinin değerine eşit olan satırları gösterecek şekilde A1:C11 aralığını filtreleyecektir.
Yöntem 3: Filtreleri Temizle
SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub
Bu özel makro, geçerli sayfadaki tüm filtreleri temizleyecektir.
Aşağıdaki örnekler bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Bir sütunun değerine göre filtreleme
Çeşitli basketbol oyuncuları hakkında bilgi içeren bir veri kümemiz olduğunu ve veri kümesini yalnızca Takım sütunundaki değeri A’ya eşit olan satırları içerecek şekilde filtrelemek istediğimizi varsayalım:
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Bu makroyu çalıştırdığımızda, veri kümesi yalnızca Ekip sütunundaki değeri A’ya eşit olan satırları içerecek şekilde otomatik olarak filtrelenecektir:
Örnek 2: Birden çok sütun değerine göre filtreleme
Veri kümesini yalnızca Ekip sütunundaki değeri A veya C’ye eşit olan satırları içerecek şekilde filtrelemek istediğimizi varsayalım:
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Bu makroyu çalıştırdığımızda veri kümesi yalnızca Takım sütunundaki değeri A veya C’ye eşit olan satırları gösterecek şekilde otomatik olarak filtrelenir.
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ı nasıl yenilenir
VBA: Pivot tabloları filtreleme
VBA: yinelenen değerler nasıl kaldırılır