Ynhâldsopjefte
As jo nei manieren sykje om te filteren mei meardere kriteariaarrays yn Excel VBA , dan binne jo op it goede plak. It filterjen fan in grutte dataset basearre op meardere kritearia kin makliker makke wurde mei help fan VBA koades yn stee fan it brûken fan de konvinsjonele funksje fan Excel.
Sa litte wy ús haadartikel begjinne.
Wurkboek downloade
Filter mei meardere kritearia.xlsm
7 manieren om te filterjen mei meardere kritearia yn array mei Excel VBA
Yn 'e folgjende dataset hawwe wy wat records fan tekens dy't oerienkomme mei de namme fan' e studinten en har ID's. Wy sille besykje dizze dataset te filterjen op basis fan ferskate kritearia as in array troch guon koades te brûken.
Wy hawwe hjir Microsoft Excel 365 ferzje brûkt, jo kinne alle oare ferzjes brûke neffens jo gemak.
Metoade-1: Filter mei meardere kritearia as teksten yn array
Hjir sille wy besykje de folgjende dataset te filterjen basearre op de Studint Namme kolom foar meardere kritearia dy't de snaren befetsje Emily , Daniel , en Gabriel yn in array.
Stap-01 :
➤ Gean nei de ûntwikkelder Tab >> Visual Basic Opsje.
Dan sil de Visual Basic Editor iepenje.
➤ Gean nei de Ynfoegje Tab >> Module Opsje.
Dêrnei in Module sil wêzemakke.
Stap-02 :
➤ Skriuw de folgjende koade
6220
Hjir hawwe wy de koptekstnammen yn it berik B3:D3 wêryn wy it filter tapasse en Field:=2 is it kolomnûmer fan dit berik basearre op wêrfan wy dit filterproses dwaan.
Uteinlik hawwe wy de kritearia ynsteld as in array foar it ferklearjen fan nammen fan meardere studinten lykas Emily , Daniel , en Gabriel .
➤ Druk op F5 .
Dan, jo sil de dataset filtere foar meardere kritearia om de namme fan 'e learlingen en har byhearrende Ids en Marks foar de learlingen Emily , Daniel , en Gabriel .
Lês mear: Filter meardere kritearia yn Excel (4 geskikte manieren)
Metoade-2: Filter mei meardere nûmerkritearia yn array mei help fan Excel VBA
Hjir sille wy de folgjende dataset filterje foar de ids 101135 , 10 1137 , en 101138 troch dizze nûmers te brûken as meardere kritearia yn in array.
Stappen :
➤ Folgje Stap-01 fan Metoade-1 .
➤ Skriuw de folgjende koade
7678
Hjir hawwe wy de kopnammen ferklearre yn it berik B3:D3 wêryn wy it filter sille tapasse en Field:=2 is it kolomnûmer fan dit berik basearre op wêrfan wy sil dit filter dwaanproses.
Uteinlik hawwe wy de kritearia ynsteld as in array foar it deklarearjen fan id's fan meardere studinten lykas 101135 , 101137 , en 101138 en wy hawwe se binnen omkearde komma's set om se as tekenrige oan te jaan, om't AutoFilter allinich foar in array fan tekenrige wurket.
➤ Druk op F5 .
Dêrnei krije jo de nammen en tekens fan 'e learlingen mei ID's 101135 , 101137 , en 101138 .
Lês mear: VBA om unike wearden te krijen fan kolom yn array yn Excel (3 kritearia)
Metoade-3: Meardere kritearia ynstelle yn in berik foar gebrûk as Array
Hjir hawwe wy de kritearia oanjûn yn 'e List kolom mei de ids 101134 , 101135 , en 101136 basearre wêrop wy ús filterproses sille dwaan.
Stappen :
➤ Folgje Stap-01 fan Metoade-1 .
➤ Skriuw de folgjende koade
9311
Hjir , wy hawwe decl ared ID_berik , k as Fariant en ID_berik is de array dy't meardere kritearia opslaan sil, en k is de tanimming fariearjend fan de legere limyt nei de boppegrins fan dizze array. Foar it hawwen fan de ûndergrins en boppegrins hawwe wy respektivelik de LBOUND-funksje en UBOUND-funksje brûkt.
De FOR-loop wurdt brûkt foar it konvertearjen fan de wearden oars as snarenyn de array yn strings mei help fan de CStr funksje . Uteinlik hawwe wy dizze array brûkt as Kriteria1 .
➤ Druk op F5 .
Dêrnei kinne jo sil de nammen en tekens krije fan 'e learlingen mei ID's 101134 , 101135 , en 101136 .
Lês mear: Filter ferskate kolommen troch meardere kritearia yn Excel VBA
Gelykbere lêzingen
- Hoe kinne jo unike wearden filterje yn Excel (8 maklike manieren)
- Oanpast filter útfiere yn Excel (5) Manieren)
- Berekkenje it gemiddelde fan in array mei VBA (Macro, UDF, en UserForm)
- Fluchtoets foar Excel-filter (3 fluch gebrûk mei foarbylden)
Metoade-4: SPLIT- en JOIN-funksjes brûke foar it meitsjen fan array mei meardere kritearia
Hjir sille wy de folgjende list brûke yn 'e List kolom as array en foar it goed filterjen fan de dataset sille wy ek de SPLIT-funksje , JOIN-funksje en TRANSPOSE-funksje brûke yn in VBA -koade.
Stappen :
➤ Fol leech Stap-01 fan Metoade-1 .
➤ Skriuw de folgjende koade
6159
Hjir sil TRANSPOSE omsette de 2D array yn in 1D array oars sil AutoFilter net wurkje, JOIN sil elk fan 'e wearden gearfoegje yn in array fan snaren, en as lêste sil SPLIT elke tekenrige ôfbrekke om ynfier te jaanse apart as kritearia foar it filterjen fan de dataset.
➤ Druk op F5 .
Ut it lêst krije jo de nammen en tekens fan de learlingen mei id's 101134 , 101135 , en 101136 .
Lês mear: Hoe kinne jo in tekenrige splitse yn in array yn VBA (3 manieren)
Metoade-5 : Filter mei meardere kritearia yn in loop foar array mei VBA
Yn dizze seksje sille wy de folgjende dataset filterje ôfhinklik fan de Student Id kolom foar meardere kritearia lykas oanjûn yn de List kolom.
Stappen :
➤ Folgje Stap- 01 fan Metoade-1 .
➤ Skriuw de folgjende koade
3692
Hjir hawwe wy k ferklearre as Integer , ID_berik(100) as String wêr't ID_berik in array is dy't oant 100 wearden opslaan sil. Om de wearden foar dizze array hjir te bepalen hawwe wy de FOR loop foar k fan 4 oant 6 brûkt as de rigenûmers fan de List kolom en F is de kolomnamme.
Uteinlik hawwe wy dizze array brûkt as Criteria1 foar AutoFilter .
➤ Druk op F5 .
Uteinlik krije jo de nammen en tekens fan 'e learlingen mei ID's 101134 , 101135 , en 101136 .
Lês mear: Meardere kritearia filterje yn Excel mei VBA (Sawol EN as ORSoarten)
Metoade-6: Gebrûk fan beneamd berik foar meardere kritearia
Hjir hawwe wy in pear nammen fan 'e learlingen yn 'e List kolom neamd en dizze neamd berik as Studint . Mei dit neamde berik sille wy in array definiearje dy't meardere kritearia befetsje sil foar de AutoFilter funksje.
Stappen :
➤ Folgje Stap-01 fan Metoade-1 .
➤ Skriuw de folgjende koade
3273
Hjir hawwe wy ferklearre Student_range , k as Fariant , en brûkte de TRANSPOSE-funksje om de 2D array fan it neamde berik te konvertearjen Studint yn in 1D array en dan opslein yn Student_range . Dan wurdt it brûkt as Criteria1 foar de AutoFilter metoade.
➤ Druk op F5 .
Dan sille jo de dataset filtere foar meardere kritearia om de namme fan 'e studinten en har byhearrende Ids en Marks foar de learlingen Jefferson , Emily , en Sara .
Besibbe ynhâld: VBA om array yn Excel te transponearjen (3 metoaden)
Metoade-7: Filtertabel mei meardere kritearia yn in array
Hjir hawwe wy de folgjende Tabel waans namme is Tabel1 en mei Excel VBA wy sille besykje dizze tabel del te filterjen op basis fan de nammen Emily , Daniel , en Gabriel as meardere kritearia yn in array.
Stappen :
➤ Folgje Stap-01 fan Metoade-1 .
➤ Skriuw de folgjende koade
7857
Hjir, ListObjects(“Tabel1”) wurdt brûkt foar it definiearjen fan de tabel Tabel1 , Field:=2 foar it ynstellen fan de twadde kolom fan dit berik as basis fan it filterproses en as lêste hawwe wy in array definieare mei meardere nammen foar Criteria1 .
➤ Druk op F5 .
Utereinlik hawwe jo de dataset omleech filtere foar meardere kritearia om de namme fan 'e learlingen en harren byhearrende Ids en Marks foar de learlingen Emily , Daniel , en Gabriel .
Lês mear: Excel VBA: Filtertabel basearre op selwearde (6 maklike metoaden)
Oefeningsdiel
Foar it oefenjen troch josels hawwe wy in Oefenje -seksje levere lykas hjirûnder yn in blêd mei de namme Oefenje . Doch it asjebleaft sels.
Konklúzje
Yn dit artikel hawwe wy besocht de manieren te dekken om te filterjen mei meardere kritearia as in array mei Excel VBA maklik. Hoopje dat jo it nuttich fine. As jo suggestjes of fragen hawwe, diel se dan frij yn 'e kommentaar seksje.