VBA Otomatik Filtresi - Verileri Filtrelemek için VBA Otomatik Filtreleme Kriterleri nasıl kullanılır?

Excel VBA Otomatik Filtresi

VBA'daki AutoFilter, bir ifade olarak kullanılır ve bunun sözdizimi aşağıdaki İfade gibidir. Otomatik filtre (Alan, Ölçüt 1, Operatör, Ölçüt 2, Açılır Menü) tüm bağımsız değişkenler isteğe bağlıdır. Filtre, büyük verilerden belirli verileri filtrelemede yardımcı olur.

Normal bir kullanıcı olduğunuzu varsayalım, o zaman excel filtreleri sizin için garip bir şey değildir. Çalışma sayfasında kullandığımız araçlardan bazıları VBA'ya da entegre edilmiştir ve otomatik filtre seçeneği VBA'da bulunan önemli araçlardan biridir. Hepimizin bildiği gibi excel filtresi veri sekmesinin altında bulunmaktadır.

Bu filtre seçeneğini kullanarak verilerle oynayabiliriz. Minimum miktarda veriyle uğraşıyorsanız ve VBA otomatik filtre seçeneğinin gerçekten gerekli olmadığını düşünüyorsanız, çalışma sayfası filtre seçeneğini kullanmaya devam edebilirsiniz.

Büyük miktarda veriyle uğraşıyorsanız, süreç akışını basitleştirmek için bir Otomatik Filtre seçeneğini kullanabilirsiniz.

Otomatik Filtre İşlevinin Sözdizimi

Excel VBA'daki Otomatik Filtre, bir aralık nesnesiyle kullanılabilir. Diğer işlevlerimiz gibi, bunun da kendi sözdizimi vardır.

  • Aralık: Aralık, filtreyi uygulamak istediğiniz aralıktadır.
  • Alan: Alan, verileri filtrelemek istediğiniz aralığın hangi sütunundan anlamına gelir. Soldan sağa doğru bir sütun sayılacaktır.

Örneğin, aralığınız A1 ile D100 arasındaysa ve D sütunu için bir filtre uygulamak istiyorsanız, o zaman alan numaranız 4'tür çünkü seçili aralıkta D dördüncü sütundur.

Kriter 1: Alanda, neyi filtrelemek istediğinizi seçtiniz.

  • Operatör: Verileri filtrelemek için birden fazla kriter uygulamak istiyorsanız, operatör sembollerini kullanmamız gerekir. Operatör kodlarından bazıları aşağıdaki gibidir.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Ölçüt 2: Ölçüt 1 ile birlikte filtrelemek istediğiniz ikinci şey nedir?

  • Görünür Aşağı Açılır: Filtrelenen sütunda filtre altlığı simgesini görüntülemek istiyor musunuz? Eğer görüntülemek istiyorsanız, DOĞRU bağımsız değişkendir, YANLIŞ değilse bağımsız değişkendir.

VBA Otomatik Filtresi Kullanılarak Filtre Nasıl Uygulanır? (Örnek ile)

Üzerinde çalıştığınız verilerin altında olduğunu varsayın.

Şimdi VBA kodunu kullanarak filtreyi uygulayacağız. Filtreyi uygulamak için aşağıdaki adımları izleyin.

Adım 1: Makroya bir ad vererek alt prosedürü başlatın.

Kod:

Alt Otomatik Filtre_Örnek1 () Son Alt

Adım 2: İlk şey, filtreyi uygulamamız gereken aralıkta. Bu durumda, A1'den E25'e kadar olan aralığı uygulamamız gerekir.

Kod:

Alt Otomatik Filtre_Örnek1 () Aralık ("A1: E25") Son Alt

Adım 3: Aralık seçildikten sonra, şimdi otomatik filtre seçeneğini uygulayın.

Kod:

Alt Otomatik Filtre_Örnek1 () Aralık ("A1: E25"). Otomatik Filtre Son Alt

Otomatik filtre kullanarak herhangi bir değer seçmiyoruz. Aksine, sadece bu noktada filtreyi uyguluyoruz.

Kodu F5 tuşunu kullanarak çalıştırın veya manuel olarak, seçilen aralık için filtre ekleyecektir.

Yani verilere bir filtre uyguladı. Şimdi verileri nasıl filtreleyeceğimizi göreceğiz.

Örnek 1 - Otomatik Filtre Kullanarak Verileri Filtreleme

Yukarıdaki örnekteki aynı verileri düşünün. Şimdi departman sütunundan "Finans" departmanını filtrelememiz gerekiyor.

Adım 1: Filtre uygulandıktan sonra, ilk argüman verileri hangi sütundan filtrelediğimizi belirtmektir. Bu durumda, verileri Departman sütunundan filtrelememiz gerekir, yani sütun numarası 5.

Kod:

Alt Otomatik Filtre_Örnek1 () Aralık ("A1: E25"). Otomatik Filtre Alanı: = 5, Son Alt

Adım 2: Kriter 1, 5. sütundan filtrelemek istediğimiz şeyden başka bir şey değildir . Bu yüzden "Finans" ı filtrelememiz gerekiyor.

Kod:

Alt Otomatik Filtre_Örnek1 () Aralık ("A1: E25"). Otomatik Filtre Alanı: = 5, Ölçüt1: = "Finans" Son Alt

Hepsi bu, bu kodu manuel olarak veya F5 tuşuyla çalıştırın, listeden yalnızca "Finans" ı filtreleyecektir.

Örnek 2 - Otomatik Filtrede Operatör

Tek değeri nasıl filtreleyeceğimizi gördük. Şimdi birden çok elemanı nasıl filtreleyeceğimizi göreceğiz. "Finans" ile birlikte "Satış" departmanını da filtrelemek istediğinizi varsayın, böylece bunu Operatörleri kullanarak yapabiliriz .

1. Adım: Sonraki bağımsız değişkendeki ilk ölçütü uyguladıktan sonra, operatörü "xlOr" olarak seçin.

Kod:

Alt Otomatik Filtre_Örnek2 () Aralık ("A1: E25"). Otomatik Filtre Alanı: = 5, Ölçüt1: = "Finans", İşleç: = xlOr Son Alt

2. Adım: Şimdi, Ölçüt 2'de değeri "Satış" olarak belirtin.

Kod:

Alt Otomatik Filtre_Örneği2 () Aralık ("A1: E25"). Otomatik Filtre Alanı: = 5, Ölçüt1: = "Finans", Operatör: = xlOr, Ölçüt2: = "Satış" Son Alt

3. Adım: Tamam, bu kodu F5 tuşunu kullanarak veya manuel olarak çalıştırın, hem "Finans" hem de "Satış" ı filtreleyecektir.

Operatör argümanında, "xlOr" kullandım, bu filtre altında hem "Finans" hem de "Satış" ı seçecek .

Örnek 3 - Otomatik Filtre Kullanarak Numaraları Filtreleme

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Alt Otomatik Filtre_Örneği4 () Aralıklı ("A1: E25") .AutoFilter Alanı: = 5, Ölçüt1: = "Finans" .AutoFilter Alanı: = 2, Ölçüt1: = "> 25000", İşleç: = xlAnd, Ölçüt2: = " <40000 "End Sub ile Sonlandır

Bu, iki sütunu filtreleyecektir.

Bu kodu F5 tuşunu kullanarak çalıştırın veya manuel olarak çalıştırabilirsiniz.

Hatırlanacak şeyler

  • VBA Otomatik Filtresi hakkında bilgi edinmek için Operatör altında farklı kombinasyonları deneyin.
  • Ne gireceğinizden emin değilseniz, makro kaydediciyi kullanmayı deneyin.
  • Metin değerlerini filtrelemek istiyorsanız, bunları çift tırnak içinde sağlamanız gerekir.
  • Birden fazla sütun filtresi uygulamak için WITH ifadesi kullanın.

Ilginç makaleler...