Obsah
Pri práci s veľkým množstvom údajov a potrebe nastaviť viacero filtrov naraz, Rozšírené filtrovanie na stránke Excel Môže sa použiť aj na vyčistenie údajov odstránením kópií. Pri použití Rozšírený filter ,. VBA V tomto návode vám ukážeme, ako aplikovať Rozšírený filter VBA pre viacero kritérií v rozsahu Excel .
Stiahnite si cvičebnicu
Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.
Pokročilý filter VBA.xlsm5 efektívnych metód pre pokročilý filter VBA s viacerými kritériami v rozsahu v programe Excel
V nasledujúcich častiach sa budeme zaoberať 5 metódy, ktoré sa majú používať Rozšírený filter VBA pre viacero kritérií. Najprv budete možno potrebovať poznať syntax príkazu Rozšírený filter VBA .
Syntax pokročilého filtra VBA:
- AdvancedFilter: odkazuje na objekt rozsahu. Môžete nastaviť rozsah, v ktorom chcete použiť filter.
- Akcia: je povinný argument, ktorý má dve možnosti, xlFilterInPlace alebo xlFilterCopy . xlFilterInPlace sa používa na filtrovanie hodnoty v mieste, kde sa nachádza súbor údajov. xlFilterCopy sa používa na získanie hodnoty filtra na inom požadovanom mieste.
- KritériáRange: predstavuje kritérium, podľa ktorého sa bude hodnota filtrovať.
- CopyToRange: je miesto, kam sa ukladajú výsledky filtrovania.
- Jedinečné: je nepovinný argument. Použite Pravda aby sa filtrovali len jedinečné hodnoty. V opačnom prípade sa štandardne považuje za False .
Na obrázku nižšie je k dispozícii vzorový súbor údajov, na ktorý sa vzťahujú všetky filtre, ktoré chceme vykonať.
1. Použitie pokročilého filtra VBA pre kritériá OR v rozsahu v programe Excel
V prvej metóde použijeme ALEBO kritériá pomocou Rozšírený filter VBA . Povedzme, že chceme filtrovať údaje pre názov produktu Cookies a Čokoláda Uplatnenie ALEBO kritérií, mali by ste hodnoty umiestniť do rôznych riadkov. Pri vykonávaní tejto úlohy postupujte podľa nižšie uvedených krokov.
Krok 1:
- Tlač Alt + F11 otvoriť Makro VBA .
- Kliknite na Vložiť.
- Vyberte si Modul.
Krok 2:
- Potom vložte nasledujúci text VBA kód na použitie ALEBO.
Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritériíDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Krok 3:
- Potom program uložte a stlačte F5 spustiť.
- Preto sa vám zobrazia filtrované výsledky, ako je znázornené na obrázku nižšie.
Poznámky. Ak chcete zvrátiť proces alebo odstrániť všetku filtračnú pastu a spustiť VBA program.
Sub Remove_All_Filter() On Error Resume Next 'príkaz na odstránenie všetkých filtrov na zobrazenie predchádzajúceho súboru údajov ActiveSheet.ShowAllData End Sub
- Výsledkom bude predchádzajúca verzia súboru údajov.
Čítajte viac: Príklady pokročilého filtra Excel VBA s kritériami (6 kritérií)
2. Vykonajte pokročilý filter VBA pre kritériá AND v rozsahu v programe Excel
Podobne ako v predchádzajúcej metóde, aj teraz vykonáme VBA Rozšírený filter pre A povedzme, že chceme poznať cookies s cenou $0.65 ako je znázornené na obrázku nižšie. Na použitie ALEBO kritériá, mali by ste umiestniť hodnotu do rôznych stĺpcov. A postupujte podľa nižšie uvedených pokynov.
Krok 1:
- Otvorenie Makro VBA , stlačte Alt + F11
- Po otvorení Makro VBA , vložte tieto údaje VBA kódy v novom module.
Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritériíDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Krok 2:
- Tlač F5 na spustenie programu po jeho uložení.
- Nakoniec získajte vyfiltrované výsledky.
Prečítajte si viac: VBA na kopírovanie údajov do iného hárka s pokročilým filtrom v programe Excel
3. Využitie pokročilého filtra VBA pre OR s kritériami AND v rozsahu v programe Excel
Môžete tiež použiť ALEBO a A kritériá v kombinácii. Napríklad chcete získať hodnoty pre Cookies alebo Čokolády , ale pre Cookies, existuje ďalšie kritérium cena $0.65 Postupujte podľa nižšie uvedených postupov.
Krok 1:
- Vložte nasledujúce VBA kódy po otvorení Makro VBA .
Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria() 'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritériíDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Krok 2:
- Potom program najprv uložte a stlačte tlačidlo F5 na jeho spustenie.
- Následne nájdete hodnoty s určitými A a ALEBO.
Čítajte viac: Použitie pokročilého filtra na základe viacerých kritérií v jednom stĺpci v programe Excel
Podobné čítanie:
- Pokročilý filter s viacerými kritériami v programe Excel (15 vhodných príkladov)
- Dynamický pokročilý filter Excel (VBA & Makro)
- Ako používať rozšírený filter vo VBA (návod krok za krokom)
- Pokročilý filter s rozsahom kritérií v programe Excel (18 aplikácií)
- Rozšírený filter programu Excel nefunguje (2 dôvody aamp; riešenia)
4. Použitie pokročilého filtra VBA pre jedinečné hodnoty s viacerými kritériami v programe Excel
Okrem toho, ak máte v súbore údajov duplikáty, môžete ich pri filtrovaní odstrániť. Pridáme Jedinečné argument na Pravda aby ste získali len jedinečné hodnoty a odstránili duplikáty. Postupujte podľa uvedených pokynov.
Krok 1:
- Najprv otvorte VBA Makro stlačením Alt + F11.
- Vložte nasledujúce VBA kódy v novom module.
Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritériíDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub
Krok 2:
- Potom stlačte tlačidlo F5 na spustenie programu po uložení.
- Preto získate hodnoty len pre jedinečné.
Prečítajte si viac: Ako používať pokročilý filter len pre jedinečné záznamy v programe Excel
5. Vykonajte pokročilý filter VBA pre podmienený prípad
Okrem predchádzajúcich metód môžete použiť aj podmienky pomocou vzorcov. Celkové ceny ktoré sú väčšie ako $100 Ak to chcete dosiahnuť, postupujte podľa nasledujúcich krokov.
Krok 1:
- Po prvé, otvoriť Makro VBA , stlačte Alt + F11 .
- Vyberte nový Modul a vložte nasledujúci text Kódy VBA .
Sub Apply_VBA_Advanced_Filter_for_Formula() 'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritériíDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub
Krok 2:
- Po druhé, uložte program a stlačte tlačidlo F5 zobrazíte výsledky.
Poznámky. Okrem toho môžete získať výsledky v priaznivom priestore, či už v novom rozsahu alebo v novom pracovnom hárku, použitím príkazu xlFilterCopy Jednoducho vložte VBA kódy a spustiť ich, aby ste získali výsledky v List6 v dosahu B4:E11 .
'Deklarovať premennú pre rozsah súboru údajov a pre rozsah kritérií Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Nastaviť umiestnenie a rozsah rozsahu súboru údajov a rozsahu kritérií Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Použiť pokročilý filter na filtrovanie súboru údajov pomocou kritérií Dataset_Rng.AdvancedFilter Action:=xlFilterCopy,CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11") End Sub
- Následne si pozrite konečný výsledok v novom pracovnom hárku 'Sheet6' .
Prečítajte si viac: Ako používať pokročilý filter, ak rozsah kritérií obsahuje text v programe Excel
Záver
Dúfam, že ste teraz pochopili, ako používať VBA pokročilý filter v Excel na filtrovanie viacerých rozsahov kritérií. Všetky tieto metódy by ste mali používať pri výučbe a precvičovaní s vašimi údajmi. Prelistujte si cvičebnicu a využite, čo ste sa naučili. Vďaka vašej životne dôležitej podpore sme inšpirovaní pokračovať v prezentovaní takýchto seminárov.
Ak máte akékoľvek otázky, neváhajte nás kontaktovať. V komentároch nižšie nám dajte vedieť, čo si myslíte.
Stránka Exceldemy zamestnanci budú na vaše otázky reagovať čo najrýchlejšie.
Zostaňte s nami a učte sa ďalej.