Excel VBA: Bir Aralıkta Birden Çok Ölçütle Gelişmiş Filtre (5 Yöntem) -

  • Bunu Paylaş
Hugh West

Büyük miktarda veri ile çalışırken ve aynı anda birden fazla filtre ayarlamak gerektiğinde, Gelişmiş Filtreleme içinde Excel kopyaları kaldırarak verilerinizi temizlemek için de uygulanabilir. Gelişmiş Filtre , the VBA kodunu çalıştırmak çok daha kolaydır. Bu eğitimde, nasıl uygulanacağını göstereceğiz VBA Gelişmiş Filtre 'de çoklu kriter aralığı için Excel .

Alıştırma Çalışma Kitabını İndirin

Bu makaleyi okurken egzersiz yapmak için bu alıştırma çalışma kitabını indirin.

VBA Gelişmiş Filtre.xlsm

Excel'de Bir Aralıkta Birden Çok Ölçütle VBA Gelişmiş Filtre için 5 Etkili Yöntem

Aşağıdaki bölümlerde şunları tartışacağız 5 kullanılacak yöntemler VBA Gelişmiş Filtre sözdizimini bilmeniz gerekebilir. VBA Gelişmiş Filtre .

VBA Gelişmiş Filtre Sözdizimi:

  • AdvancedFilter: Bir aralık nesnesine başvurur. Filtreyi uygulamak istediğiniz aralığı ayarlayabilirsiniz.
  • Eylem: iki seçeneği olan gerekli bir bağımsız değişkendir, xlFilterInPlace veya xlFilterCopy . xlFilterInPlace veri kümesinin olduğu yerdeki değeri filtrelemek için kullanılır. xlFilterCopy filtre değerini istenen başka bir konumda almak için kullanılır.
  • Kriter Aralığı: değerin filtreleneceği ölçütü temsil eder.
  • CopyToRange: filtre sonuçlarınızı kaydedeceğiniz konumdur.
  • Eşsiz: isteğe bağlı bir argümandır. Doğru argümanını yalnızca benzersiz değerleri filtrelemek için kullanır. Aksi takdirde, varsayılan olarak Yanlış .

Aşağıdaki görselde, gerçekleştirmek istediğimiz tüm filtreleri uygulamak için örnek bir veri seti verilmiştir.

1. Excel'de Bir Aralıktaki VEYA Ölçütleri için VBA Gelişmiş Filtre Uygulama

İlk yöntemde, aşağıdaki yöntemi uygulayacağız VEYA kriterlerini kullanarak VBA Gelişmiş Filtre Diyelim ki, ürün adı için verileri filtrelemek istiyoruz Çerezler ve Çikolata . uygulamak için VEYA kriterine göre, değeri farklı satırlara yerleştirmelisiniz. Görevi yapmak için aşağıdaki özetlenen adımları izleyin.

Adım 1:

  • Basın Alt + F11 açmak için VBA Makro .
  • üzerine tıklayın. Ekle.
  • Seçin Modül.

Adım 2:

  • Ardından, aşağıdakileri yapıştırın VBA kodunu uygulamak için VEYA.
 Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Veri kümesi aralığı ve ölçüt aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve ölçüt aralığının konumunu ve aralığını ayarla Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Ölçütleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Adım 3:

  • Ardından, programı kaydedin ve F5 koşmak için.
  • Bu nedenle, aşağıdaki resimde gösterildiği gibi filtrelenmiş sonuçları alacaksınız.

Notlar. İşlemi tersine çevirmek veya tüm filtre macununu çıkarmak ve VBA Program.

 Sub Remove_All_Filter() On Error Resume Next 'önceki veri kümesini göstermek için tüm filtreyi kaldırma komutu ActiveSheet.ShowAllData End Sub 

  • Sonuç olarak, veri setinizin önceki sürümünü elde edersiniz.

Daha Fazla Oku: Excel VBA Kriterli Gelişmiş Filtre Örnekleri (6 Kriter)

2. Excel'de Bir Aralıktaki AND Ölçütleri için VBA Gelişmiş Filtreleme Gerçekleştirin

Önceki yönteme benzer şekilde şimdi de VBA için Gelişmiş Filtre VE Diyelim ki şu fiyata sahip kurabiyeleri bilmek istiyoruz $0.65 Aşağıdaki ekran görüntüsünde gösterildiği gibi. VEYA kriterini uygulamak için, değeri farklı sütunlara yerleştirmelisiniz. VE kriterleri için aşağıdaki talimatları izleyin.

Adım 1:

  • Açmak için VBA Makro , basın Alt + F11
  • Açtıktan sonra VBA Makro , aşağıdakileri yapıştırın VBA kodlarını yeni bir Modülde girin.
 Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Veri kümesi aralığı ve ölçüt aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve ölçüt aralığının konumunu ve aralığını ayarla Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Ölçütleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Adım 2:

  • Basın F5 Programı kaydettikten sonra çalıştırmak için.
  • Son olarak, filtrelenmiş sonuçları alın.

Daha fazlasını okuyun: Excel'de Gelişmiş Filtre ile Verileri Başka Bir Sayfaya Kopyalamak için VBA

3. Excel'deki Bir Aralıkta VE Ölçütleri ile VEYA için VBA Gelişmiş Filtresini Kullanma

Aynı zamanda VEYA ve VE kriterlerinin her ikisini de birlikte alırsınız. Örneğin, aşağıdakiler için değerleri almak istiyorsunuz Çerezler veya Çikolatalar ancak Çerezler, başka bir kriter fiyatı daha var $0.65 Uygulanacaktır. Bunu yapmak için aşağıdaki prosedürleri izleyin.

Adım 1:

  • Aşağıdakileri yapıştırın VBA kodlarını açtıktan sonra VBA Makro .
 Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria() 'Veri kümesi aralığı ve kriter aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve kriter aralığının konumunu ve aralığını ayarlayın Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Kriterleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulayınDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Adım 2:

  • Ardından, önce programı kaydetmek için F5 çalıştırmak için.
  • Sonuç olarak, belirli değerlere sahip değerleri bulacaksınız VE ve VEYA.

Daha Fazla Oku: Excel'de Tek Sütunda Birden Çok Kritere Dayalı Gelişmiş Filtre Uygulama

Benzer Okumalar:

  • Excel'de Çoklu Kriterlerle Gelişmiş Filtre (15 Uygun Örnek)
  • Dinamik Gelişmiş Filtre Excel (VBA & Makro)
  • VBA'da Gelişmiş Filtre Nasıl Kullanılır (Adım Adım Kılavuz)
  • Excel'de Ölçüt Aralığı ile Gelişmiş Filtre (18 Uygulama)
  • Excel Gelişmiş Filtresi Çalışmıyor (2 Neden & Çözümler)

4. Excel'de Birden Çok Ölçütle Benzersiz Değerler için VBA Gelişmiş Filtresini Kullanın

Ayrıca, veri setinizde kopyalar varsa, filtreleme sırasında bunları kaldırabilirsiniz. Eşsiz argümanına Doğru Yalnızca benzersiz değerleri almak ve yinelenenleri silmek için özetlenen talimatları izleyin.

Adım 1:

  • İlk olarak VBA Makro tuşuna basarak Alt + F11.
  • Aşağıdakileri yapıştırın VBA kodlarını yeni bir Modülde girin.
 Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Veri kümesi aralığı ve kriter aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve kriter aralığının konumunu ve aralığını ayarla Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Kriterleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub 

Adım 2:

  • Ardından, tuşuna basın F5 kaydettikten sonra programı çalıştırmak için.
  • Bu nedenle, yalnızca benzersiz değerler elde edeceksiniz.

Daha Fazla Oku: Excel'de Yalnızca Benzersiz Kayıtlar için Gelişmiş Filtre Nasıl Kullanılır

5. Koşullu Durum için VBA Gelişmiş Filtresi Gerçekleştirin

Önceki yöntemlere ek olarak, formüllerle koşullar da uygulayabilirsiniz. Örneğin, aşağıdaki değerleri bulmak istiyoruz Toplam fiyatlar 'den büyük olan $100 Bunu başarmak için adımları takip etmeniz yeterlidir.

Adım 1:

  • İlk olarak, açmak için VBA Makro , basın Alt + F11 .
  • Yeni bir Modül ve aşağıdakileri yapıştırın VBA kodları .
 Sub Apply_VBA_Advanced_Filter_for_Formula() 'Veri kümesi aralığı ve kriter aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve kriter aralığının konumunu ve aralığını ayarla Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Kriterleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Adım 2:

  • İkinci olarak, programı kaydedin ve F5 düğmesine basarak sonuçları görebilirsiniz.

Notlar. Ayrıca, yeni bir aralıkta veya yeni bir çalışma sayfasında xlFilterCopy eylemi. Basitçe, yapıştırın VBA kodlarını girin ve sonuçları almak için bunları çalıştırın Sayfa6 menzil içinde B4:E11 .

 'Veri kümesi aralığı ve kriter aralığı için Değişken Bildir Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Veri kümesi aralığının ve kriter aralığının konumunu ve aralığını ayarlayın Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Kriterleri kullanarak veri kümesini filtrelemek için Gelişmiş Filtre uygulayın Dataset_Rng.AdvancedFilter Action:=xlFilterCopy,CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11") End Sub 

  • Sonuç olarak, nihai sonucu yeni bir çalışma sayfasında görün 'Sayfa6' .

Daha Fazla Oku: Excel'de Ölçüt Aralığı Metin İçeriyorsa Gelişmiş Filtre Nasıl Kullanılır

Sonuç

Özetlemek gerekirse, umarım şimdi VBA gelişmiş filtre Excel Bu yöntemlerin tümü verilerinizi öğretmek ve uygulamak için kullanılmalıdır. Uygulama kitabını inceleyin ve öğrendiklerinizi uygulamaya koyun. Hayati desteğiniz sayesinde, bu gibi seminerleri sunmaya devam etmek için ilham alıyoruz.

Herhangi bir sorunuz varsa, lütfen bizimle iletişime geçmekten çekinmeyin. Lütfen aşağıdaki yorumlar bölümünde ne düşündüğünüzü bize bildirin.

Bu Exceldemy personelimiz sorularınıza mümkün olan en kısa sürede yanıt verecektir.

Bizimle kalın ve öğrenmeye devam edin.

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.