A VBA -ban létrehozhat AutoFilter cellatartomány vagy Excel -táblázat szűrése érdekében. Ebben az oktatóanyagban megtudhatja, hogyan kell létrehozni AutoFilter egy vagy több oszlophoz és több feltételhez.
Ha meg szeretné tanulni a speciális szűrő használatát a VBA -ban, kattintson ide: VBA speciális szűrő
Automatikus szűrő létrehozása a VBA -ban
Először is látni fogja, hogyan lehet csak létrehozni AutoFilter tartományban, így a felhasználó szűrheti az adatokat. A példákban felhasznált adatok az 1. képen láthatók:
1. kép. Adatok az AutoFilter példákhoz
Itt van a létrehozás kódja AutoFilter:
1 | Sheet1.Range ("A1: E1"). AutoFilter |
Annak érdekében, hogy engedélyezze AutoFilter, meg kell adnunk a tartomány fejlécét, esetünkben A1: E1, és a AutoFilter az objektum módszere Hatótávolság. Ennek eredményeként az adattartományunk aktiválta a szűrőket:
2. kép. Az automatikus szűrő engedélyezve van az adatokhoz
Automatikus szűrő mező- és kritériumparaméterekkel
A VBA lehetővé teszi egy bizonyos mező automatikus szűrését is bizonyos értékekkel.
Ehhez paramétereket kell használni Terület és Kritériumok1 a módszerről AutoFilter. Ebben a példában a harmadik oszlopot szeretnénk szűrni (Termék) számára A termék csak. Itt a kód:
12 | Sheet1.Range ("A1: E1"). Automatikus szűrőmező: = 3, _1. kritérium: = "A termék" |
Ban,-ben Terület paraméter, beállíthatja az oszlop számát a tartományban (nem Excelben), míg Kritériumok1 megadhatja a szűrni kívánt értéket. A kód végrehajtása után a táblázatunk így néz ki:
3. kép. Automatikus szűrő mezővel és feltételekkel
Amint láthatja, csak a sorokkal A termék a harmadik oszlopban az adattartományban jelennek meg.
Automatikus szűrő mező és több kritérium értékkel
Ha egy mezőt több értékkel szeretne szűrni, akkor a paramétert kell használnia Operátor a AutoFilter módszer. Több érték szűréséhez be kell állítania Operátor nak nek xlFilterValues és az összes értékét is Kritériumok egy tömbben. Ebben a példában szűrjük a Termék oszlop a A termék és B termék. Itt a példa a kódra:
123 | Sheet1.Range ("A1: E1"). Automatikus szűrő mező: = 3, _1. kritérium: = tömb ("A termék", "B termék"), _Operátor: = xlFilterValues |
Amikor végrehajtjuk a kódot, csak az A és a B termékeket tartalmazó sorokat kapjuk, amint az a 4. képen látható:
4. kép. Automatikus szűrő több kritériumértékkel
Automatikus szűrő adattartomány több kritériummal
Ha több feltételt tartalmazó mezőt szeretne szűrni, akkor használnia kell Kritériumok1 és Feltételek2 paramétereket, de a Kezelő xlAnd.
A következő példában az első oszlopot szűrjük (Dátum) a 2022. decemberi dátumokra. Ezért két kritériumunk van: 18. január 12 -én nagyobb és 18. 12. 31 -nél kisebb. Ez a kód:
1234 | Sheet1.Range ("A1: E1"). Automatikus szűrőmező: = 1, _1. kritérium: = "> = 2018.01.12.", _Operátor: = xlÉs, _2. kritérium: = "<= 2018.12.31." |
Amikor végrehajtjuk a kódot, láthatjuk, hogy csak a decemberi dátumok jelennek meg az adattartományban:
5. kép. Automatikus szűrő több kritériummal a mezőhöz
Az AutoFilter metódus kezelői paraméterei
A következő táblázatban. láthatja az összes lehetséges értékét Operátor az AutoFilter módszer paramétere és leírásuk:
Operátor | Leírás |
xlÉs | Több kritériumot tartalmaz - 1. és 2. kritérium |
xlOr | Tartalmazza a több feltétel egyikét - 1. kritérium vagy 2. kritérium |
xlTop10Items | Szűr egy bizonyos számú legmagasabb rangú értéket (az 1. kritériumban megadott szám) |
xlBottom10Itsems | Szűr egy bizonyos számú legalacsonyabb rangú értéket (az 1. kritériumban megadott szám) |
xlTop10Percent | Szűri a legmagasabb rangú értékek egy bizonyos százalékát (% a Criteria1 -ben megadott) |
xl Alsó10 százalék | Szűri a legalacsonyabb rangú értékek egy bizonyos százalékát (% a Criteria1 -ben megadott) |
xlFilterValues | Több feltételértéket tartalmaz a tömb segítségével |
xlFilterCellColor | Szűri a cellákat a színekhez |
xlFilterFontColor | A betűszínek celláit szűri |
xlFIlterIcon | Szűri az ikonokat |
xlFilterDynamic | Dinamikus értékek szűrése |