Ynhâldsopjefte
Excel Sortearje & Filterkommando hat in beheind berik foar Filtergegevens . Mar mei VBA kinne jo gegevens filterje yn in breed berik as jo wolle. Dit artikel sil jo 8 nuttige foarbylden leverje om VBA -koade te brûken om gegevens te filterjen yn excel mei VBA koades mei libbene yllustraasjes.
Download Practice Workbook
Jo kinne hjir de fergese Excel-sjabloan downloade en sels oefenje.
VBA-koade om Data.xlsm te filterjen
8 foarbylden om VBA-koade te brûken om gegevens yn Excel te filterjen
Litte wy earst yntrodusearre wurde oan ús dataset dy't guon geslacht, status en Leeftyd .
1. Brûk VBA-koade om gegevens te filterjen op basis fan tekstkritearia yn Excel
Yn ús earste foarbyld sille wy VBA brûke om Filter allinich Manlike studinten út de kolom Geslacht fan de dataset.
Stappen:
- Rjochtsklik op de blêdtitel .
- Dan Selektearje View Code út it Kontekstmenu .
Binne dêrnei sil in VBA finster iepenje.
- Typ de folgjende koades yn it-
8210
- Letter minimalisearje de VBA
Koade-ôfdieling
- Hjir haw ik in Sub proseduere makke, Filter_Data_Text() .
- Dan brûkte de Range eigenskip om ús respektivelike blêdnamme en berik
- Dêrnei brûkte ik de AutoFilter-metoade om Kriteria fan myn kar te brûken wêr't Field:=2 betsjut kolom 2 . En Criteria1:=”Manlik” om Filter de gegevens foar Manlik.
- Dan nei iepenje it Makrodialoochfinster , klik op as folget: Utwikkelder > Makro's.
- Selektearje de Makronamme lykas neamd yn de koades .
- Ut it lêst gewoan drukke op Run .
Sjoch no dat wy allinich hawwe 1>Gegevens fan manlike studinten nei Filterearjen .
Lês mear: Excel filtergegevens basearre op Selwearde (6 effisjinte manieren)
2. VBA-koade tapasse om gegevens te filterjen mei meardere kritearia yn ien kolom
Hjir sille wy Filterje foar meardere kritearia yn ien kolom. Ut kolom nûmer trije fan 'e dataset sille wy Filterje foar Astudearre en Postgraduate studinten.
Stappen:
- Folgje de earste twa stappen fan it earste foarbyld om it VBA-finster te iepenjen.
- Letter, Typ de folgjende koades yn it-
3053
- Dan minimalisearje de VBA
Koade-ôfdieling
- Hjir haw ik in Sub proseduere makke, Filter_One_Column() .
- Dan brûkte de eigenskip Range om ús respektivelike blêdnamme en berik
- te ferklearjen Dêrnei brûkte ik deAutoFilter metoade om de Kriteria fan myn kar te brûken wêr't Field:=3 kolom 3 betsjut. Hjir, Criteria1:=”Graduate” en Criteria2:=”Postgraduate” om Filter de Status fan de studint.
- Uteinlik brûkte ik Operator:=xlOr om OF betingst Filter oan te passen foar meardere kritearia.
- Op dizze momint, folgje de tredde stap fan it earste foarbyld om it Makrodialoochfinster fak te iepenjen.
- Letter, selektearje de opjûne Makronamme en drukke op Run .
Koart dêrnei krije jo de Filtere rigen basearre op meardere kritearia lykas de ôfbylding hjirûnder.
Lês Mear: Filter meardere kritearia yn Excel (4 geskikte manieren)
3. VBA-koade tapasse om gegevens te filterjen mei meardere kritearia yn ferskate kolommen yn Excel
No sille wy Filterje foar meardere kritearia- Manlik en ôfstudearje studinten.
Stappen:
- Folgje de earste twa stappen fan it earste foarbyld om iepenje de VBA
- Letter, skriuw de folgjende koades yn it-
3647
- Nei dat it VBA-finster minimalisearje .
Koade-ôfdieling
- Hjir haw ik in Sub proseduere oanmakke, Filter_Different_Columns() .
- Dan haw ik de With statement brûkt om <1 te brûken>Meardere kolom .
- Dan brûkte it berik eigenskip om ús respektivelike blêdnamme en berik
- Dêrnei brûkte ik de AutoFilter-metoade om Kriteria fan te brûken myn kar wêr't Field:=2 kolom 2 betsjut en Field:=3 kolom 3 betsjut.
- Hjir , selektearre Kriteria1:="Manlik" foar Geslacht kolom en Kriteria1:="Ofstudearre" foar Status -kolom nei Filter gegevens fan ferskillende kolommen .
- Dan Folgje de tredde stap út it earste foarbyld om de Makro's dialoochfinster .
- Letter, selektearje de oantsjutte Makronamme en drukke op Run .
Hjir is de útfier fan de meardere kritearia.
Lês mear: Excel VBA om yn deselde kolom te filterjen op meardere kritearia (6 foarbylden)
4. Brûk VBA-koade om Top 3-items yn Excel te filterjen
Yn dit foarbyld filterje wy de top trije studinten neffens harren leeftyd .
Stappen:
- Folgje de earste twa stappen fan it earste foarbyld om it VBA-finster te iepenjen .
- Dan Typ de folgjende koades yn-
9357
- Dêrnei minimalisearje de VBA-finster .
Koade-ôfdieling
- Hjir, ik makke in Sub proseduere, Filter_Top3_Items() .
- En brûkte dan Operator:=xlTop10Items om Filter foar de top trije gegevens .
- No Folgje de tredde stap fan it earste foarbyld om de te iepenjen Macro-dialooch fak .
- Dan selektearje de Macro-namme lykas neamd yn 'e koades en druk op Run .
Dan krije jo de útfier lykas de ôfbylding hjirûnder-
Lês mear: Hoe kinne jo filterje op basis fan selwearde mei Excel VBA (4 metoaden)
Gelykbere lêzingen
- Hoe kopiearje en plakke wannear Filter wurdt tapast yn Excel
- Hoe kinne jo unike wearden yn Excel filterje (8 maklike manieren)
- Meardere kritearia filterje yn Excel mei VBA (beide EN- en OR-typen)
- Hoe kinne jo tekstfilter brûke yn Excel (5 foarbylden)
- Hoe kinne jo filterje op datum yn Excel (4 fluch Metoaden)
5. Brûk VBA-koade om Top 50 prosint yn Excel te filterjen
Litte wy VBA koades brûke om de top fyftich prosint fan studinten op basis fan har leeftyd te filterjen .
Stappen:
- Earst, Folgje de earste twa stappen fan it earste foarbyld om it VBA-finster te iepenjen.
- Letter type de folgjende koades yn-
8826
- Minimalisearje it VBA-finster .
Koade-ôfdieling
- Hjir haw ik in Sub proseduere makke, Filter_Top50_Percent() .
- Letter brûkte Operator:=xlTop10Percent oan Filterje de top fyftich prosint út kolom-4 .
- Folgje op dit stuit de tredde stap fan it earste foarbyld om de te iepenjen 1>Makro's dialoochfinster.
- Dan selektearje de oantsjutte Makro namme en druk op Run .
D'r wiene yn totaal 7 learlingen dus foar 50 prosint is it likernôch trije learlingen te sjen.
Lês mear: Hoe kinne jo de formule foar winstpersintaazje brûke yn Excel (3 foarbylden)
6 . VBA-koade tapasse om gegevens te filterjen mei jokerteken
Wy kinne jokertekens-* (asterisk) brûke yn VBA-koades om gegevens yn Excel te filterjen. Fanút de Statuskolom filterje wy allinnich de wearden dy't 'Post' befetsje.
Stappen:
- Folgje de earste twa stappen fan it earste foarbyld om it VBA-finster te iepenjen.
- Dan skriuw de folgjende koades yn it-
8310
- Letter, minimalisearje it VBA-finster .
Koade-ôfdieling
- Hjir haw ik in Sub proseduere makke, Filter_with_Wildcard() .
- Dan brûkt Range (“B4”) om it berik yn te stellen.
- Folgjende , brûkt AutoFilter nei Filter yn Field:=3 betsjut kolom 3.
- Kriteria1:=”*Post *” om Filter de wearden dy't 'Post' befetsje.
- No Folgje de tredde stap fan de earste foarbyld om it dialoochfinster Makro's te iepenjenbox.
- Selektearje de oantsjutte Makronamme en druk op Run .
Dan krije jo de winske útfier.
Lês Mear: Hoe kinne jo filter tafoegje yn Excel (4 metoaden) )
7. Ynbêde Excel VBA yn om gefilterde gegevens te kopiearjen yn in nij blêd yn Excel
Sjoch dat d'r wat filtere gegevens binne yn myn dataset. No sil ik se kopiearje nei in nij blêd mei VBA . Dizze koades wurkje net goed yn it blêd, jo moatte se tapasse yn de module.
Stappen:
- Druk op Alt+F11 om de VBA
- Klikje dan op Ynfoegje > Module om in module te iepenjen .
- No skriuw de folgjende koades –
1153
- Dan minimalisearje de VBA
Koade-ôfdieling
- Hjir haw ik in Sub proseduere makke, Copy_Filtered_Data_NewSheet() .
- Dêrnei ferklearre twa-fariabele- x Rng As berik en xWS as wurkblêd.
- Dan brûkte in IF-statement om check Filtered
- Letter, brûkt MsgBox om de útfier te sjen.
- Dan brûkte Wurksheets(“Copy Filtered Data”). AutoFilter .Range om it Filtered -berik te selektearjen en Tafoegje te brûken om in nij blêd ta te foegjen.
- Uteinlik Copy Range(“G4”) sil de Filterearre gegevens kopiearje nei it nije blêd .
- Letter, folgje detredde stap fan it earste foarbyld om it Makrodialoochfinster te iepenjen.
- Dan selektearje de oantsjutte Makronamme en druk op Run .
Sjoch no dat Excel in nij blêd iepene hat en de Filtere rigen kopiearre.
Lês mear: Sneltoets foar Excel-filter (3 fluch gebrûk mei foarbylden)
8. VBA-koade tapasse om gegevens te filterjen mei help fan dropdownlist
Yn ús lêste foarbyld meitsje wy earst in dellûklist foar geslachten, dan sille wy dat brûke om gegevens te filterjen. Dêrfoar haw ik de genderkritearia op in oare lokaasje pleatst en meitsje wy in dellûklist yn Sel D14 .
Stappen:
- Selektearje Sel D14 .
- Dan klikje as folget: Data > Data Tools & GT; Data Validation & GT; Gegevensvalidaasje.
Koart dêrnei sil in dialoochfinster iepenje.
Selektearje List út it Tastean útklapmenu .
Dan klikje op it Iepenje ikoan út it Boarnefak .
No Selektearje it kriteariumberik en druk op de Enter-knop .
- Op dit stuit, gewoan drukke op OK .
No is ús útklapmenu klear.
- No Folgje de earste twa stappen fan it earste foarbyld om it VBA-finster te iepenjen .
- Dan skriuw de folgjende koades yn-
3892
- Dan minimalisearje de VBAfinster .
Koade-ôfdieling
- Hjir haw ik makke a Private Sub proseduere, Worksheet_Change(ByVal Target As Range).
- Dan haw ik Wurkblêd selekteare út Algemien en Feroarje út Deklaraasjes .
- Set dan it Adres yn om de lokaasje te witten.
- Uteinlik brûkte binnen de IF -statement de AutoFilter metoade mei Field en Kriteria
- No gewoan selektearje kritearia út it útklapmenu en it Filter sil aktivearre wurde .
Hjir is de Filterearre útfier nei it selektearjen fan Man út it útklapmenu .
Lês mear: Hoe kinne jo filterje op list yn in oar blêd yn Excel (2 metoaden)
Oefeningsdiel
Jo krije in oefenblêd yn it hjirboppe jûne Excel-bestân om de útleine manieren te oefenjen.
Konklúzje
Ik hoopje dat de hjirboppe beskreaune prosedueres goed genôch binne om VBA koade te brûken foar Filter gegevens yn excel. Fiel jo frij om elke fraach te stellen yn 'e kommentaardiel en jou my asjebleaft feedback.