Excel VBA: Hoe kinne jo filterje mei meardere kritearia yn array (7 manieren)

  • Diel Dit
Hugh West

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.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.