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:

Hücre değerine dayalı VBA filtre sütunu

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

Birden fazla kritere dayalı VBA filtre sütunu

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

Yorum ekle

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