VBA Otomatik Filtre

VBA'da oluşturabilirsiniz Otomatik filtre bir hücre aralığını veya bir Excel tablosunu filtrelemek için. Bu eğitimde, nasıl oluşturulacağını öğreneceksiniz. Otomatik filtre bir veya birden çok sütun için ve birden çok koşul için.

VBA'da gelişmiş bir filtrenin nasıl kullanılacağını öğrenmek istiyorsanız, buraya tıklayın: VBA gelişmiş filtre

VBA'da Otomatik Filtre Oluşturma

İlk önce, sadece nasıl oluşturulacağını göreceksiniz Otomatik filtre bir aralıkta, böylece bir kullanıcı verileri filtreleyebilir. Örneklerde kullanacağımız veriler Resim 1:

Resim 1. Otomatik Filtre örnekleri için veriler

İşte oluşturmak için kod Otomatik filtre:

1 Sheet1.Range("A1:E1").Otomatik Filtre

etkinleştirmek için Otomatik filtre, bizim durumumuzda A1:E1 aralığının başlığını belirtmemiz ve Otomatik filtre nesnenin yöntemi Menzil. Sonuç olarak, veri yelpazemizde etkinleştirilmiş filtreler var:

Resim 2. Veriler için Otomatik Filtre etkin

Alan ve Kriter Parametreleri ile Otomatik Filtre

VBA, belirli bir alanı belirli değerlerle otomatik olarak filtrelemenize de olanak tanır.

Bunu yapmak için parametreleri kullanmanız gerekir. Alan ve Kriter1 yöntemin Otomatik filtre. Bu örnekte, üçüncü sütunu filtrelemek istiyoruz (Ürün) için Ürün A bir tek. İşte kod:

12 Sheet1.Range("A1:E1").Otomatik Filtre Alanı:=3, _Criteria1:="Ürün A"

İçinde Alan parametre, aralıktaki (Excel'de değil) sütun sayısını ayarlayabilirsiniz. Kriter1 filtrelemek istediğiniz değeri koyabilirsiniz. Kodu çalıştırdıktan sonra tablomuz şöyle görünür:

Resim 3. Alan ve ölçütlerle Otomatik Filtre

Gördüğünüz gibi, yalnızca satırlar Ürün A üçüncü sütunda veri aralığında görüntülenir.

Alan ve Çoklu Ölçüt Değerleri ile Otomatik Filtre

Bir alanı birkaç değerle filtrelemek istiyorsanız, parametreyi kullanmanız gerekir. Şebeke arasında Otomatik filtre yöntem. Birden çok değeri filtrelemek için şunları ayarlamanız gerekir: Şebeke ile xlFilterValues ve ayrıca tüm değerleri koymak için Kriterler bir dizide. Bu örnekte, filtre Ürün için sütun Ürün A ve Ürün B. İşte kod örneği:

123 Sheet1.Range("A1:E1").Otomatik Filtre Alanı:=3, _Criteria1:=Array("Ürün A", "Ürün B"), _Operatör:=xlFilterValues

Kodu çalıştırdığımızda, Resim 4'te görebileceğiniz gibi, yalnızca Ürün A ve Ürün B ile satırlar alıyoruz:

Resim 4. Çoklu ölçüt değerlerine sahip Otomatik Filtre

Çoklu Kriterli Otomatik Filtre Veri Aralığı

Birden çok kritere sahip bir alanı filtrelemek istiyorsanız, kullanmanız gerekir. Kriter1 ve Kriter2 parametreleri değil, aynı zamanda Operatör xlAnd.

Sonraki örnekte, ilk sütunu filtreleyeceğiz (Tarih) Aralık 2022'deki tarihler için. Bu nedenle iki kriterimiz var: 12/01/18'den büyük ve 12/31/18'den küçük bir tarih. Bu kod:

1234 Sheet1.Range("A1:E1").Otomatik Filtre Alanı:=1, _Kriter1:=">=12/01/2018", _Operatör:=xlAnd, _Criteria2:="<=31/12/2018"

Kodu çalıştırdığımızda, veri aralığında yalnızca Aralık'taki tarihlerin görüntülendiğini görebilirsiniz:

Resim 5. Alan için birden çok kritere sahip Otomatik Filtre

AutoFilter yönteminin Operatör Parametre Değerleri

Bir sonraki tabloda. tüm olası değerlerini görebilirsiniz. Şebeke AutoFilter yönteminin parametresi ve açıklamaları:

Şebeke Açıklama
xlAnd Birden çok ölçüt içerir - Ölçüt1 ve Ölçüt 2
xlVeya Birden çok kriterden birini içerir - Kriter1 veya Kriter 2
xlTop10Öğeler Belirli sayıda en yüksek sıradaki değeri filtreler (Kriter1'de belirtilen sayı)
xlBottom10Items Belirli sayıda en düşük dereceli değeri filtreler (Kriter1'de belirtilen sayı)
xlTop10Yüzde En yüksek dereceli değerlerin belirli bir yüzdesini filtreler (Kriter1'de belirtilen yüzdesi)
xlBottom10Yüzde En düşük dereceli değerlerin belirli bir yüzdesini filtreler (Kriter1'de belirtilen yüzdesi)
xlFilterValues Array ile birden çok ölçüt değeri içerir
xlFiltreHücreRenk Renkler için hücreleri filtreler
xlFilterYazı TipiRenk Yazı tipi renkleri için hücreleri filtreler
xlFilterSimgesi Filtreler simgeleri
xlFilterDinamik Dinamik değerleri filtrele

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave