EXCEL VBA'DA FILTRE DATA[ FİLTRE VERİLERİ]


 

Excel VBA Filtresi, veri filtreleme sürecini otomatikleştirmenize olanak tanıyan sağlam bir araçtır. Excel'in VBA programlamasının bir bileşenidir ve farklı Excel işlemlerini programatik olarak düzenlemenize olanak tanır. Yalnızca önceden belirlenmiş standartları karşılayan bilgileri gösterecek ve sıralayacak filtreler uygulayarak büyük veri kümelerini verimli bir şekilde işleyebilirsiniz.


Excel'de VBA kullanarak metin tabanlı bir filtre uyguladığımız bir örneğe bakalım. Bu örnekteki "FilterByText" alt rutini, A1 ile D10 aralığındaki verileri VBA filtrelemek için tasarlanmıştır.

VBA Filtre Verileri - Tanım Örneği - 1

Bu aralık A'dan D'ye kadar olan sütunları ve 1'den 10'a kadar olan satırları kapsar. Bu filtre, durum bilgisi içerdiğini varsaydığımız ikinci sütun olan B Sütununa odaklanır.

VBA Filtre Verileri - Tanım Örneği - 2

Kriter1:=”Tamamlandı” kullanılarak filtre, ikinci sütunda “Tamamlandı” metni bulunan satırları özel olarak hedef alır ve böylece veri yönetimi ve incelemesi basitleştirilir.

Bu kodu çalıştırdığınızda, çalıştırıldığında yalnızca B Sütunundaki "Tamamlandı" durumu belirtilen satırları görüntüleyecek şekilde verileri filtreler.

VBA Filtre Verileri - Tanım Örneği - 3

ÖNEMLİ NOKTALAR

  • Veri filtreleme görevleri VBA Veri Filtresi ile etkili bir şekilde otomatikleştirilebilir.
  • VBA kodunda kriterleri ve aralığı doğru tanımlamak esastır.
  • Gelişmiş filtreleme seçeneklerinin yardımıyla karmaşık veri senaryoları yönetilebilir.
  • Filtreleri temizleyerek verilerinizin görünümünü sıfırlamayı unutmayın.

Excel VBA Filtresi Nasıl Kullanılır?

VBA Veri Filtresini kullanmak için şu adımları izleyin:

  1. Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın.


    Excel VBA Filtresi Nasıl Kullanılır - Adım 1

  2. Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.


    Excel VBA Filtresi Nasıl Kullanılır - Adım 2

  3. Filtreleme modülünde VBA kodunuzu yazmaya başlayın .

    Örneğin, belirli ölçütlere göre bir veri aralığını filtrelemek için buna benzer bir şey yazmak için: Bu örnek, A1:B10 aralığının ilk sütununda (Alan:=1) belirtilen bir ölçüt ("Kriterleriniz") için bir filtre ayarlar. Excel VBA'daki AutoFilter işlevi, etkili bir şekilde kullanılabilmesi için sözdiziminin ve parametrelerinin anlaşılmasını gerektirir. AutoFilter Sözdizimi ve Parametreleri:

     Range("A1:B10").AutoFilter Field:=1, Criteria1:="YourCriteria"





    Excel VBA Filtresi Nasıl Kullanılır - Adım 3

  4. VBA Kodunu F5 tuşuna basarak veya VB editöründe Çalıştır butonuna tıklayarak çalıştırın.

VBA Kullanarak Verileri Filtrelemeye Yönelik Örnekler

Örnek 1 – Verilere Filtre Uygula veya Filtreyi Kaldır

Diyelim ki VBA Filtre Verilerini kullanarak bazı Excel verilerine filtre uygulamak istiyorsunuz. Bunu bu örnekte nasıl başaracağımızı göreceğiz.

Excel'de VBA Filtre Verileri - Örnek 1
  • Adım 1: Tedarik Veri Aralığı

Kodun ilk satırı Aralıktır (“A1:D10”). Filtrenin uygulanacağı veri aralığı bu satırda belirtilir. Bu durumda aralık A1 hücresinden D10 hücresine kadardır.

Böylece, 1'den 10'a kadar olan satırlardaki ve A'dan D'ye kadar olan sütunlardaki tüm veriler filtreye tabi olacaktır. Filtrenin düzgün çalışması için verilerinizin bu aralığın içinde olması gerekir.

Örnek 1 - Adım 1
  • Adım 2: Otomatik Filtreleme İşlevine Erişim

“.AutoFilter” daha sonra belirtilen aralığa uygulanır. Belirtilen aralık için, kodun bu bölümü VBA'da AutoFilter özelliğini etkinleştirir .

Kullanıcı, belirlenen aralıktaki her sütun için başlık satırında bir açılır liste görüntüleyen AutoFilter yöntemini kullanarak verileri ihtiyaçlarına göre filtreleyebilir . Bu kod satırı, aralığa zaten uygulanmış olan tüm filtreleri kaldıracaktır.

Örnek 1 - Adım 2
  • Adım 3: Filtreyi Etkinleştirmek İçin Kodu Çalıştırın

Tüm kod, “ApplyRemoveFilter()” adlı bir alt prosedüre sarılmıştır. Bu özel bir VBA alt yordamıdır. Çalıştırıldığında yukarıdaki adımlarda tanımlanan eylemler tetiklenir. Bu makroyu çalıştırdığınızda, filtrenin sütunlara uygulandığını göreceksiniz.

Excel'de VBA Filtre Verileri - Örnek 1 - Adım 3

İşte tam kod:

Sub ApplyRemoveFilter()
Range(“A1:D10”).AutoFilter
End Sub

Örnek 2 – Belirli Değerleri Filtrele

Bu örnek, belirli bir aralıktaki verilere bir VBA filtresinin nasıl uygulanacağını ve yalnızca ilk sütundaki değerin eşleştiği satırların nasıl görüntüleneceğini gösterir.

Excel'de VBA Filtre Verileri - Örnek 2
  • Adım 1: Kod Range(“A1:D20”).AutoFilter ile başlar. Bu satır filtrenin uygulanacağı A1:D20 veri aralığını belirtir.

Sütun A'dan sütun D'ye ve satır 1'den 20'ye kadar her bilgi parçasının seçildiğini gösterir. Daha sonra, bu aralıkta, filtreleme seçeneklerinin kullanılmasına izin veren AutoFilter yöntemi çağrılır.

Örnek 2 - Adım 1
  • Adım 2: Filtre uygulanacak sütun numarası aynı satırda “Field:=1” ile belirtilir.

Bu örnekte "Field:=1", filtrenin seçilen aralığın ilk sütununa, bu durumda sütun A'ya uygulandığını gösterir. Filtreleme ölçütlerinin kullanılacağı yer burasıdır.

Örnek 2 - Adım 2
  • Adım 3: Filtreleme kriteri, alan seçiminden sonra “Criteria1:=”SpecificValue”” kullanılarak tanımlanır. Burada, “SpecificValue” değeri ilk sütunu (Alan 1) filtrelemek için kullanılır.

Filtre uygulandıktan sonra, yalnızca A sütununun “SpecificValue” değerine sahip satırlar görüntülenecektir. Bu değer, gerektiği gibi başka bir değere değiştirilebilir.

Örnek 2 - Adım 3
  • Adım 4: “FilterSpecificValues” alt rutini yürütüldüğünde A1:D20 aralığına bir Otomatik Filtre uygular ve yalnızca Sütun A'nın değeri “SpecificValue” olan satırları görüntüler ve diğer tüm satırları gizler.
Excel'de VBA Filtre Verileri - Örnek 2 - Adım 4

İşte tam kod:

Sub FilterSpecificValues()
Range(“A1:D20″).AutoFilter Field:=1, Criteria1:=”SpecificValue”
End Sub

Örnek 3 – OPERATÖR Argümanının Kullanımı

Bu örnek, ikinci sütunun hem "Matematik" hem de "Politika" ifadelerini içermesiyle aynı anda iki gereksinimi karşıladığı A1:D15 aralığındaki satırları hedeflemek için VBA Filtre verilerinin kullanımını göstermektedir.

Excel'de VBA Filtre Verileri - Örnek 3
  • Adım 1: Kodun ilk satırı “Range(“A1:D15″).””AutoFilter.” Bu satır, “AutoFilter”ın uygulanacağı veri aralığını belirtir, yani A1 ile D15 arasındaki hücreler. 1 ile 15 arasındaki satırlardaki ve A ile D arasındaki sütunlardaki tüm veriler aralığa dahildir.

“Field:=2” aralığın hemen ardından belirtilir. Bu, seçilen aralığın ilk alanının (veya sütununun) (bu durumda B sütunu) filtreleme ölçütlerine tabi olacağı anlamına gelir.

Örnek 3 - Adım 1
  • Adım 2: Burada, “Criteria1:=”Math”.” tanımlıyoruz. Kodun bu bölümü, ilk alan (sütun B) için ilk filtreleme kriterini belirler. Sütun B'de değeri “Math” olan satırlar filtrelenecektir.
Örnek 3 - Adım 2
  • Adım 3: “Operator:=xlOr” ilk kriterden sonra tanıtılır. İki kriterin nasıl etkileşime gireceğini kontrol ettiği için bu operatör çok önemlidir.

Bu durumda xlOr, filtre uygulandıktan sonra bir satırın görüntülenebilmesi için ölçütlerden birinin karşılanması gerektiği anlamına gelir.

Örnek 3 - Adım 3
  • Adım 4: Criteria2:="Politics" sonunda ayarlanır. Bu, filtrenin ikinci gereksinimidir. Bu kriter, "xlOr" operatörü kullanılarak birinci kriterle birlikte kullanılır.
Örnek 3 - Adım 4
  • Adım 5: FilterUsingOperator alt yordamını çalıştırdığınızda, ikinci sütundaki A1:D15 aralığına bir filtre uygulanır ve yalnızca B Sütunundaki değerlerin her ikisi de “Matematik” veya “Politika” olan satırlar gösterilir.
Excel'de VBA Filtre Verileri - Örnek 3 - Adım 5

İşte tam kod:

Sub FilterUsingOperator()
Range(“A1:D15″).AutoFilter Field:=2, Criteria1:=”Math”, Operator:=xlOr, Criteria2:=”Politics”
End Sub

Örnek 4 – Operatör Sembolleriyle Sayıları Filtrele

Bu örnekte, 10'dan fazla ve 20'den az olan verileri filtrelemek için iki ölçüt ve bir operatöre sahip filtreleri verilere uygulamak üzere VBA Veri Filtresi'nin nasıl kullanılacağını göreceğiz.

Excel'de VBA Filtre Verileri - Örnek 4
  • Adım 1: Yeni modülde ilk olarak FilterNumbers adında yeni bir alt rutin oluşturarak başlıyoruz.
Örnek 4 - Adım 1
  • Adım 2: Bu satırda AutoFilter'ı uyguluyoruz:

Range(“A1:D10”).AutoFilter: Çalışma sayfasındaki A1 hücresinden D10 hücresine kadar olan aralık, kodun bu bölümü tarafından seçilir.

Daha sonra, bu aralığa “.AutoFilter” yöntemi kullanılarak bir filtre uygulanır. Bu, A'dan D'ye kadar olan sütunların ilk on satırındaki bilgileri filtrelediğinizi gösterir.

Örnek 4 - Adım 2
  • Adım 3: Şimdi, İlk Alan için Filtre Kriterlerini belirtiyoruz:

Field:=3: Bu, bu aralıktaki ilk alan (veya sütun) olan Sütun C'nin filtrenin uygulanacağı yer olduğunu gösterir.

Criterial:=”>10″: Bu, filtrenin başlangıç ​​kriterini belirler. Excel'e yalnızca Sütun C'deki değer 10'u aştığında satırları görüntülemesi talimatı verilir.

Örnek 4 - Adım 3
  • Adım 4: Burada iki kriteri birleştirmek için bir Operatör kullanacağız.

Operator:=xlAnd: Bu operatör kullanılarak iki ölçüt birleştirilir. Bu, bir satırın görüntülenmesi için her iki gereksinimin de karşılanması gerektiğini belirtir.

Örnek 4 - Adım 4
  • Adım 5: Bu adımda ikinci filtre kriterini belirliyoruz.

Criteria2:=”<20″: Bu, filtrenin ikinci gereksinimini belirler. Excel'e görünür satırları, Sütun A'nın değeri de 20'den az olanlarla sınırlamasını söyler.

Örnek 4 - Adım 5
  • Adım 6: Bu kodu çalıştırdığınızda, C Sütununun gerekli kriterlerimizle filtrelendiğini ve yalnızca gereksinimlerimizi karşılayan alanların doldurulduğunu göreceksiniz.
Excel'de VBA Filtre Verileri - Örnek 4 - Adım 6

İşte tam kod:

Sub FiltreNumbers()
Range(“A1:C10″).AutoFilter Field:=3, Criteria1:=”>10″, Operator:=xlAnd, Criteria2:=”<20″
End Sub

Örnek 5 – Birden Fazla Sütun İçin Filtre Uygula

Bu örnek, A1:D20 aralığındaki iki ayrı sütuna VBA filtre verilerinin nasıl uygulanacağını gösterecek ve “East”in A Sütununda ve “Jones”un B Sütununda göründüğü satırları görüntüleyecektir.

Excel'de VBA Filtre Verileri - Örnek 5
  • Adım 1: FilterMultipleColumns adında yeni bir VBA alt rutini oluşturarak başlayın.
Örnek 5 - Adım 1
  • Adım 2: Bu satırda, İlk Alana Otomatik Filtreyi uyguluyoruz:

Range(“A1:D20”): Çalışma sayfasında A1 hücresinden D20 hücresine kadar olan veri aralığını seçin.

.AutoFilter: AutoFilter yöntemini seçili aralığa uygular.

Field:=1: Filtrenin ilk alana (bu durumda Sütun A) uygulanması gerektiğini belirtir.

Criteria1:=”Doğu”: Sütun A için filtre koşulunu yalnızca değeri “Doğu” olan satırları görüntüleyecek şekilde ayarlar.

Örnek 5 - Adım 2
  • Adım 3: Şimdi İkinci Alana Otomatik Filtreyi uygulayalım:

“Range(“A1:D20”).AutoFilter Field:=2, Criteria1:=”Jones””: Bu satır, farklı bir sütun için benzer bir işlemi tekrarlar:

Tekrar aynı aralığı (A1:D20) seçer.

Field:=2: Filtrenin şu anda ikinci alana, yani Sütun B'ye uygulandığını gösterir.

Criteria1:=”Jones”: Sütun B için filtre koşulunu yalnızca değeri “Jones” olan satırları gösterecek şekilde ayarlar.

Örnek 5 - Adım 3
  • Adım 4: Modülü kaydedin ve kodu çalıştırın. Bu kod çalıştığında, öncelikle A1:D20 aralığındaki Sütun A'daki verileri filtreleyerek yalnızca değerin "Doğu" olduğu satırları gösterir.

Aynı aralıktaki B Sütununa anında ikinci bir filtre uygular ve satır sayısını "Jones" değerine sahip olanlarla sınırlar. Sonuç olarak, yalnızca her iki gereksinimi de karşılayan satırlar gösterilir.

Excel'de VBA Filtre Verileri - Örnek 5 - Adım 4

İşte tam kod:

Sub FiltreÇokluSütunlar()
Range(“A1:D20″).AutoFilter Field:=1, Criteria1:=”Doğu”
Range(“A1:D20″).AutoFilter Field:=2, Criteria1:=”Jones” 

End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  • VBA filtreleme verileri hücre değerine göre filtrelendiğinde, filtreleme için kullanılan hücredeki veri türünün filtrelenen sütundaki veri türüyle eşleşmesi sağlanır.
  • VBA verilerini filtrelemek ve başka bir sayfaya kopyalamak için, yalnızca görünür, filtrelenmiş verilerin aktarıldığından emin olmak için kopyalamadan önce “Range.SpecialCells(xlCellTypeVisible)” kullanarak filtrelenmiş aralığı doğru bir şekilde seçmek önemlidir.
  • Açılır liste seçimine dayalı VBA filtre verileri, filtreleme eyleminin açılır liste değişikliklerine dinamik olarak yanıt vermesini sağlar; bu genellikle “Worksheet_Change” olayını kullanır.
  • VBA filtre verilerini kullanırken kodunuzun farklı veri aralıklarına uyum sağlayabildiğinden ve manuel ayarlamalar gerektirmeden verilerin boyutunda veya yapısında meydana gelen değişiklikleri işleyebildiğinden emin olun.

1. Excel VBA'da gelişmiş veri filtresi nedir?

Excel VBA'da "gelişmiş veri filtreleme", birden fazla ölçüt uygulama, karmaşık mantıksal operatörler veya birden fazla sayfada filtreleme gibi basit filtrelemenin ötesine geçen filtreleme yöntemlerini ifade eder.

2. Excel VBA'da otomatik veri filtrelemeyi nasıl kullanırım?

Excel VBA’da veri aralığını seçin ve otomatik filtrelemeyi etkinleştirmek için ilgili alan ve ölçüt parametreleriyle “.AutoFilter” yöntemini kullanın.

3. Excel VBA'da yinelenen veriler nasıl filtrelenir?

İstenilen aralıkta “.AdvancedFilter” metodunu ve Excel VBA’da “Unique:=True” parametresini kullanarak yinelenen verileri filtreleyebilirsiniz.

4. Excel VBA'da bir filtreyi nasıl seçimini kaldırabilirim?

Excel VBA'da, filtrenin herhangi bir parametre olmadan uygulandığı aralığa “.AutoFilter” yöntemini uygulayarak filtrenin seçimini kaldırın.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...