Excel VBA: Haladó szűrő több kritériummal egy tartományban (5 módszer) -

  • Ossza Meg Ezt
Hugh West

Amikor nagy mennyiségű adattal dolgozik, és egyszerre több szűrőt kell beállítania, Speciális szűrés a oldalon. Excel A másolatok eltávolításával az adatok megtisztítására is alkalmazható. A Speciális szűrő , a VBA kódot sokkal könnyebb végrehajtani. Ebben a bemutatóban megmutatjuk, hogyan kell alkalmazni a VBA speciális szűrő több kritériumtartományban a Excel .

Gyakorlati munkafüzet letöltése

Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.

VBA Advanced Filter.xlsm

5 hatékony módszer a VBA fejlett szűrőhöz több kritériummal egy tartományban az Excelben

A következő szakaszokban a következőket tárgyaljuk 5 használandó módszerek VBA speciális szűrő Először talán ismerned kell a szintaxisát a VBA speciális szűrő .

VBA speciális szűrő szintaxis:

  • AdvancedFilter: egy tartományobjektumra utal. Megadhatja a tartományt, ahol a szűrőt alkalmazni szeretné.
  • Intézkedés: egy kötelező argumentum, amely két lehetőséggel rendelkezik, xlFilterInPlace vagy xlFilterCopy . xlFilterInPlace az érték szűrésére szolgál azon a helyen, ahol az adatkészlet van. xlFilterCopy a szűrő értékének egy másik kívánt helyre történő bevitelére szolgál.
  • CriteriaRange: jelöli azokat a kritériumokat, amelyek alapján az értéket szűrni kell.
  • CopyToRange: az a hely, ahová a szűrési eredményeket menteni fogja.
  • Egyedülálló: opcionális argumentum. Használja a Igaz argumentummal, hogy csak az egyedi értékeket szűrje ki. Egyébként alapértelmezés szerint a Hamis .

Az alábbi képen egy mintaadatkészletet adunk meg az összes szűrő alkalmazásához, amelyet el akarunk végezni.

1. VBA bővített szűrő alkalmazása az Excel tartományban lévő OR-kritériumokra

Az első módszerben a VAGY kritériumok a VBA speciális szűrő Tegyük fel, hogy az adatokat a terméknévre szeretnénk szűrni. Sütik és Csokoládé A VAGY kritériumokat, az értéket különböző sorokba kell helyeznie. Kövesse az alábbiakban vázolt lépéseket a feladat elvégzéséhez.

1. lépés:

  • Sajtó Alt + F11 a VBA makró .
  • Kattintson a Beillesztés.
  • Válassza ki a Modul.

2. lépés:

  • Ezután illessze be a következőket VBA kódot a VAGY.
 Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Az adatkészlet tartomány és a kritériumtartomány változójának deklarálása Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Az adatkészlet tartomány és a kritériumtartomány helyének és tartományának beállítása Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével.Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

3. lépés:

  • Ezután mentse a programot, és nyomja meg a F5 futni.
  • Ezért az alábbi képen látható szűrt eredményeket kapja.

Megjegyzések. A folyamat visszafordításához vagy az összes szűrőpaszta eltávolításához és a VBA program.

 Sub Remove_All_Filter() On Error Resume Next 'parancs az összes szűrő eltávolítására az előző adatkészlet megjelenítéséhez ActiveSheet.ShowAllData End Sub 

  • Ennek eredményeképpen az adatkészlet korábbi verzióját kapja meg.

További információ: Excel VBA példák a fejlett szűrőre kritériumokkal (6 kritérium)

2. VBA bővített szűrő végrehajtása az AND kritériumokhoz egy tartományban az Excelben

Hasonlóan az előző módszerhez, most is elvégezzük a VBA Speciális szűrő a ÉS kritériumok. Tegyük fel, hogy meg akarjuk ismerni a sütiket, amelyeknek az ára $0.65 az alábbi képernyőképen látható módon. A VAGY kritériumokat, akkor az értéket különböző oszlopokba kell helyeznie. A ÉS kritériumokat, kövesse az alábbi utasításokat.

1. lépés:

  • Megnyitni VBA makró , nyomja meg Alt + F11
  • Miután megnyitotta a VBA makró , illessze be a következőket VBA kódok egy új modulban.
 Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Az adatkészlet tartomány és a kritériumtartomány változójának deklarálása Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Az adatkészlet tartomány és a kritériumtartomány helyének és tartományának beállítása Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével.Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

2. lépés:

  • Sajtó F5 a program futtatásához a mentés után.
  • Végül kapja meg a szűrt eredményeket.

Bővebben: VBA az adatok másolásához egy másik lapra az Excel bővített szűrőjével

3. A VBA bővített szűrő használata az OR és az AND kritériumokhoz egy tartományban az Excelben

Alkalmazhatja a VAGY és a ÉS kritériumokat kombinálva. Például, ha a következő értékeket szeretné megkapni Sütik vagy Csokoládék , de a Sütik, van egy másik kritérium is $0.65 Kövesse az alábbi eljárásokat, hogy ez megtörténjen.

1. lépés:

  • Illessze be a következőket VBA kódok a VBA makró .
 Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria() 'Az adatkészlet tartomány és a kritériumtartomány változójának deklarálása Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Az adatkészlet tartomány és a kritériumtartomány helyének és tartományának beállítása Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével.Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

2. lépés:

  • Ezután mentse a programot először a F5 a futtatásához.
  • Következésképpen, az értékek bizonyos ÉS és VAGY.

További információ: Több kritériumon alapuló speciális szűrő alkalmazása egy oszlopban az Excelben

Hasonló olvasmányok:

  • Haladó szűrő több kritériummal az Excelben (15 megfelelő példa)
  • Dinamikus speciális szűrő Excel (VBA & samp; Makró)
  • Hogyan használjuk a speciális szűrőt a VBA-ban (lépésről-lépésre útmutató)
  • Speciális szűrő a kritériumtartományokkal az Excelben (18 alkalmazás)
  • Excel Advanced Filter nem működik (2 ok & amp; Megoldások)

4. A VBA speciális szűrő használata az Excelben több kritériummal rendelkező egyedi értékekhez

Továbbá, ha duplikátumok vannak az adathalmazunkban, akkor szűrés közben eltávolíthatjuk őket. Hozzáadjuk a Egyedi érv a Igaz hogy csak az egyedi értékeket kapja meg, és törölje a duplikátumokat. Kövesse a vázolt utasításokat.

1. lépés:

  • Először is, nyissa meg a VBA Makró a Alt + F11.
  • Illessze be a következőket VBA kódok egy új modulban.
 Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Az adatkészlet tartomány és a kritériumtartomány változójának deklarálása Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Az adatkészlet tartomány és a kritériumtartomány helyének és tartományának beállítása Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével.Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub 

2. lépés:

  • Ezután nyomja meg a F5 a program mentés utáni futtatásához.
  • Ezért csak az egyedi értékeket fogja megkapni.

További információ: Hogyan használjon speciális szűrőt csak az egyedi rekordok számára az Excelben?

5. VBA speciális szűrő végrehajtása feltételes esethez

Az előző módszereken kívül a képletekkel is alkalmazhatunk feltételeket. Például meg akarjuk találni a Teljes árak amelyek nagyobbak, mint $100 Ehhez egyszerűen kövesse a következő lépéseket.

1. lépés:

  • Először is, nyissa meg a VBA makró , nyomja meg Alt + F11 .
  • Válasszon ki egy új Modul és illessze be a következőket VBA kódok .
 Sub Apply_VBA_Advanced_Filter_for_Formula() 'Az adatkészlet tartomány és a kritériumtartomány változójának deklarálása Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Az adatkészlet tartomány és a kritériumtartomány helyének és tartományának beállítása Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével.Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

2. lépés:

  • Másodszor, mentse a programot, és nyomja meg a F5 gombot az eredmények megtekintéséhez.

Megjegyzések. Ezenkívül az eredményeket kedvező helyen is megkaphatja, akár egy új tartományban, akár egy új munkalapon, ha alkalmazza a xlFilterCopy Egyszerűen illessze be a VBA kódokat, és futtassa őket, hogy megkapja az eredményeket a Sheet6 hatótávolságon belül B4:E11 .

 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Állítsa be az adatkészlet tartomány és a kritérium tartomány helyét és tartományát Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Alkalmazza a speciális szűrőt az adatkészlet szűrésére a kritériumok segítségével Dataset_Rng.AdvancedFilter Action:=xlFilterCopy,CriteriaRrange:=Criteria_Rng, CopyToRrange:=Sheets("Sheet6").Range("B4:E11") End Sub 

  • Következésképpen, a végeredményt egy új munkalapon láthatja 'Sheet6' .

További információ: Hogyan használjon speciális szűrőt, ha a kritériumtartomány szöveget tartalmaz az Excelben?

Következtetés

Összefoglalva, remélem, most már érti, hogyan kell használni a VBA fejlett szűrő a Excel több kritériumtartomány szűrésére. Mindezeket a módszereket tanítani és gyakorolni kell az adatokkal. Nézze át a gyakorlókönyvet, és alkalmazza a tanultakat. Az Önök fontos támogatásának köszönhetően inspirál bennünket arra, hogy továbbra is ilyen szemináriumokat tartsunk.

Ha bármilyen kérdése van, kérjük, forduljon hozzánk bizalommal. Kérjük, ossza meg velünk véleményét az alábbi megjegyzés rovatban.

A Exceldemy munkatársai a lehető leggyorsabban válaszolnak az Ön kérdéseire.

Maradjon velünk és tanuljon tovább.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.