Excel VBA: Kako filtrirati s više kriterija u nizu (7 načina)

  • Podijeli Ovo
Hugh West

Ako tražite načine za filtriranje s nizom više kriterija u Excelu VBA , onda ste na pravom mjestu. Filtriranje velikog skupa podataka na osnovu više kriterija može se olakšati uz pomoć VBA kodova umjesto korištenja konvencionalne funkcije Excela.

Dakle, počnimo naš glavni članak.

Preuzmite radnu svesku

Filter s više kriterija.xlsm

7 načina za filtriranje s više kriterija u nizu pomoću Excel VBA

U sljedećem skupu podataka imamo neke zapise ocjena koje odgovaraju imenima učenika i njihovim licima. Pokušaćemo da filtriramo ovaj skup podataka na osnovu različitih kriterijuma kao niz koristeći neke kodove.

Ovde smo koristili Microsoft Excel 365 verziju, vi možete koristiti bilo koju drugu verziju prema vašoj zgodnosti.

Metod-1: Filtrirajte s više kriterija kao tekstove u nizu

Ovdje ćemo pokušati filtrirati sljedeći skup podataka na osnovu Stupac Ime učenika za više kriterija koji sadrže nizove Emily , Daniel i Gabriel u nizu.

Korak-01 :

➤ Idite na Programer Tab >> Visual Basic Opcija.

Onda će se otvoriti Visual Basic Editor .

➤ Idite na Insert Tab >> Module Option.

Nakon toga, Module će bitikreirano.

Korak-02 :

➤ Napišite sljedeći kod

7258

Ovdje smo deklarirali imena zaglavlja u rasponu B3:D3 u kojem ćemo primijeniti filter i Field:=2 je broj stupca ovog raspona na osnovu kojeg ćemo izvršiti ovaj proces filtriranja.

Konačno, postavili smo kriterije kao niz za deklariranje višestrukih imena učenika kao što su Emily , Daniel , i Gabrijel .

➤ Pritisnite F5 .

Onda, će imati set podataka filtriran prema više kriterija kako bi se prikazalo ime učenika i njihove odgovarajuće ID-ove i Ocjene za učenike Emili , Danijel i Gabrijel .

Pročitajte više: Filtrirajte više kriterija u Excelu (4 pogodna načina)

Metod-2: Filtrirajte s više kriterija brojeva u nizu koristeći Excel VBA

Ovdje ćemo filtrirati sljedeći skup podataka za ID-ove 101135 , 10 1137 , i 101138 koristeći ove brojeve kao više kriterija u nizu.

Koraci :

➤ Pratite Korak-01 od Metode-1 .

➤ Napišite sljedeći kod

1707

Ovdje smo deklarirali imena zaglavlja u rasponu B3:D3 u kojem ćemo primijeniti filter i Field:=2 je broj stupca ovog raspona na osnovu kojeg smo izvršiće ovo filtriranjeproces.

Konačno, postavili smo kriterije kao niz za deklariranje višestrukih ID-ova učenika kao što su 101135 , 101137 , i 101138 i stavili smo ih unutar obrnutih zareza da ih navedemo kao nizove jer će AutoFilter raditi samo za niz nizova.

➤ Pritisnite F5 .

Nakon toga, dobit ćete imena i ocjene učenika sa ID-ovima 101135 , 101137 i 101138 .

Pročitajte više: VBA za dobijanje jedinstvenih vrijednosti iz kolone u niz u Excelu (3 kriterija)

Metoda-3: Postavljanje više kriterija u rasponu za korištenje kao niz

Ovdje smo naveli kriterije u koloni Lista koja sadrži ID-ove 101134 , 101135 , i 101136 na osnovu kojih ćemo izvršiti naš proces filtriranja.

Koraci :

➤ Pratite Korak-01 od Metoda-1 .

➤ Napišite sljedeći kod

4098

Ovdje , imamo dekl ared ID_range , k kao Varijanta i ID_range je niz koji će pohraniti više kriterija, a k je povećanje u rasponu od donje granice do gornje granice ovog niza. Za donju i gornju granicu koristili smo LBOUND funkciju i UBOUND funkciju respektivno.

FOR petlja se koristi za pretvaranje vrijednosti koje nisu nizoviu nizu u nizove uz pomoć CStr funkcije . Konačno, iskoristili smo ovaj niz kao Kriterijum1 .

➤ Pritisnite F5 .

Nakon toga, će dobiti imena i ocjene učenika koji imaju ID-ove 101134 , 101135 i 101136 .

Pročitajte više: Filtrirajte različite stupce prema više kriterija u Excel VBA

Slična očitanja

  • Kako filtrirati jedinstvene vrijednosti u Excelu (8 jednostavnih načina)
  • Izvršite prilagođeni filter u Excelu (5 Načini)
  • Izračunajte prosjek niza pomoću VBA (makro, UDF i korisnički obrazac)
  • Prečica za Excel filter (3 brze upotrebe sa primjerima)

Metoda-4: Upotreba funkcija SPLIT i JOIN za kreiranje niza s više kriterija

Ovdje ćemo koristiti sljedeću listu u Listi kolona kao niz i za pravilno filtriranje skupa podataka također ćemo koristiti SPLIT funkciju , JOIN funkciju i TRANSPOSE funkciju u VBA kod.

Koraci :

➤ Fol nizak Korak-01 od Metoda-1 .

➤ Napišite sljedeći kod

1982

Ovdje, TRANSPOSE će pretvoriti 2D niz u 1D niz u suprotnom AutoFilter neće raditi, JOIN će spojiti svaku od vrijednosti u niz nizova, i konačno, SPLIT će razbiti svaki niz da bi dao ulazih zasebno kao kriterijume za filtriranje skupa podataka.

➤ Pritisnite F5 .

Konačno ćete dobiti nazive i oznake studenti koji imaju ID-ove 101134 , 101135 i 101136 .

Pročitajte više: Kako podijeliti string u niz u VBA (3 načina)

Metod-5 : Filtriraj s više kriterija u petlji za niz sa VBA

U ovom odjeljku ćemo filtrirati sljedeći skup podataka ovisno o koloni Id učenika za više kriterijumi navedeni u koloni Lista .

Koraci :

➤ Slijedite Korak- 01 od Metoda-1 .

➤ Napišite sljedeći kod

3171

Ovdje smo deklarirali k kao cijeli broj , ID_range(100) kao String gdje je ID_range niz koji će pohraniti do 100 vrijednosti. Za određivanje vrijednosti za ovaj niz ovdje smo koristili FOR petlju za k od 4 do 6 kao brojeve redova Lista kolona i F je naziv stupca.

Konačno, koristili smo ovaj niz kao Kriterijum1 za AutoFilter .

➤ Pritisnite F5 .

Na kraju ćete dobiti imena i ocjene učenika sa ID-ovima 101134 , 101135 i 101136 .

Pročitajte više: Filtrirajte više kriterija u Excelu pomoću VBA (i I i ILITipovi)

Metod-6: Upotreba imenovanog raspona za više kriterija

Ovdje smo naveli neka imena učenika u koloni Lista i nazvali ovo raspon kao Učenik . Koristeći ovaj imenovani raspon, definirat ćemo niz koji će sadržavati više kriterija za funkciju AutoFilter .

Koraci :

➤ Slijedite Korak-01 od Metoda-1 .

➤ Napišite sljedeći kod

7241

Ovdje smo deklarirali Raspon_učenika , k kao Varijanta i koristio TRANSPOSE funkciju za pretvaranje 2D niza imenovanog raspona Učenik u 1D niz i zatim ga pohraniti u Učenik_opseg . Zatim se koristi kao Kriterijumi1 za metodu AutoFilter .

➤ Pritisnite F5 .

Zatim ćete imati set podataka filtriran prema više kriterija kako biste prikazali imena učenika i njihove odgovarajuće ID-ove i Ocjene za učenike Jefferson , Emily i Sara .

Povezani sadržaj: VBA za transponovanje niza u Excel (3 metode)

Metod-7: Filtriraj tablicu s više kriterija u nizu

Ovdje imamo sljedeću Tabelu čiji je naziv Tabela1 i koristeći Excel VBA pokušat ćemo filtrirati ovu tabelu na osnovu imena Emily , Daniel i Gabrijel kao više kriterija u nizu.

Koraci :

➤ Slijedite Korak-01 od Metoda-1 .

➤ Napišite sljedeći kod

6586

Ovdje, ListObjects(“Table1”) se koristi za definisanje tabele Tabela1 , Polje:=2 za postavljanje druge kolone ovog opsega kao osnove procesa filtriranja i konačno smo definisali niz koji sadrži više naziva za Kriterijumi1 .

➤ Pritisnite F5 .

Na kraju ćete imati skup podataka filtrirano prema više kriterija kako bi se prikazala imena učenika i njihove odgovarajuće ID-ove i Ocjene za učenike Emili , Danijel i Gabrijel .

Pročitajte više: Excel VBA: Tabela filtera na osnovu vrijednosti ćelije (6 jednostavnih metoda)

Odjeljak za vježbanje

Za vježbanje prema sami smo obezbijedili Vježba odjeljak kao ispod u listu pod nazivom Vježba . Učinite to sami.

Zaključak

U ovom članku pokušali smo pokriti načine filtriranja s više kriterija kao niz koristeći Excel VBA jednostavno. Nadam se da će vam biti od koristi. Ako imate bilo kakvih prijedloga ili pitanja, slobodno ih podijelite u odjeljku za komentare.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.