Tartalomjegyzék
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.xlsm5 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.