Innholdsfortegnelse
Excel Sorter & Filterkommando har et begrenset område til Filter data . Men ved å bruke VBA kan du Filtre data i et bredt spekter som du ønsker. Denne artikkelen vil gi deg 8 nyttige eksempler på bruk av VBA -kode for å filtrere data i excel ved å bruke VBA koder med levende illustrasjoner.
Last ned øvelsesarbeidsbok
Du kan laste ned den gratis Excel-malen herfra og øve på egen hånd.
VBA-kode for å filtrere data.xlsm
8 eksempler på bruk av VBA-kode for å filtrere data i Excel
La oss først bli introdusert til datasettet vårt som representerer noen studenters kjønn, status og Alder .
1. Bruk VBA-kode for å filtrere data basert på et tekstkriterium i Excel
I vårt aller første eksempel bruker vi VBA for å filtrere kun Mannlige studenter fra kolonnen Kjønn i datasettet.
Trinn:
- Høyreklikk på arktittelen .
- Velg deretter Vis kode fra Kontekstmenyen .
Snart etterpå åpnes et VBA vindu.
- Skriv inn følgende koder i it-
2761
- Senere, minimer VBA
Kodeoversikt
- Her opprettet jeg en Sub prosedyre, Filter_Data_Text() .
- Deretter brukte jeg Range -egenskap for å erklære vårt respektive arknavn og område
- Deretter brukte jeg Autofiltreringsmetoden for å bruke Kriterier etter eget valg der Felt:=2 betyr kolonne 2 . Og Criteria1:=”Mann” for å filtrere dataene for Mann.
- Deretter for å åpne dialogboksen Makroer , klikk som følger: Utvikler > Makroer.
- Velg Makronavnet som nevnt i kodene .
- Til slutt er det bare å trykke Kjør .
Se nå at vi bare har Mannlige elevers data etter filtrering .
Les mer: Excel-filterdata basert på Celleverdi (6 effektive måter)
2. Bruk VBA-kode for å filtrere data med flere kriterier i én kolonne
Her skal vi filtrere for flere kriterier i én kolonne. Fra kolonne nummer tre i datasettet Filtrer vi for Graduate og Postgraduate studenter.
Trinn:
- Følg de to første trinnene i første eksempel for å åpne VBA-vinduet .
- Senere, skriv inn følgende koder i den-
2809
- Deretter minimerer VBA
Kodeoversikt
- Her opprettet jeg en Sub prosedyre, Filter_One_Column() .
- Bruket deretter egenskapen Range til å deklarere vårt respektive arknavn og område
- Deretter brukte jeg denAutoFilter-metode for å bruke Kriterier jeg velger der Felt:=3 betyr kolonne 3 . Her Criteria1:=”Graduate” og Criteria2:=”Postgraduate” for å filtrere studentens Status .
- Til slutt brukte jeg Operator:=xlOr for å bruke ELLER betingelse Filter for flere kriterier.
- På dette tidspunktet øyeblikk, følg det tredje trinnet fra det første eksempelet for å åpne Makrodialogboksen boksen .
- Senere, velg det angitte Makronavnet og trykk Kjør .
Like etter vil du få de filtrerte radene basert på flere kriterier som bildet nedenfor.
Les mer: Filtrer flere kriterier i Excel (4 egnede måter)
3. Bruk VBA-kode for å filtrere data med flere kriterier i forskjellige kolonner i Excel
Nå skal vi filtrere for flere kriterier- Mann og utdannet elever.
Trinn:
- Følg de to første trinnene i det første eksempelet for å åpne VBA
- Senere, skriv følgende koder i den-
3043
- Etter at som minimerer VBA-vinduet .
Kodeoversikt
- Her opprettet jeg en Sub prosedyre, Filter_Different_Columns() .
- Deretter brukte jeg With -setningen for å bruke Multiple Column .
- Bruket deretter Range egenskap for å deklarere vårt respektive arknavn og område
- Deretter brukte jeg Autofilter-metoden for å bruke Kriterier for mitt valg hvor Felt:=2 betyr kolonne 2 og Felt:=3 betyr kolonne 3 .
- Her , valgt Kriterier1:=”Mann” for Kjønn -kolonnen og Kriterier1:=”Graduate” for Status -kolonnen til Filter data fra forskjellige kolonner .
- Deretter følg det tredje trinnet fra første eksempel for å åpne Makrodialogboks .
- Senere velg det angitte Makronavnet og trykk Kjør .
Her er resultatet av de flere kriteriene.
Les mer: Excel VBA å filtrere i samme kolonne etter flere kriterier (6 eksempler)
4. Bruk VBA-kode for å filtrere topp 3-elementer i Excel
I dette eksemplet vil vi filtrere topp tre elevene i henhold til deres alder .
Trinn:
- Følg de to første trinnene i første eksempel for å åpne VBA-vinduet .
- Deretter skriver du inn følgende koder i den-
4248
- Deretter minimerer VBA-vindu .
Kodesammenbrudd
- Her, jeg opprettet en Sub prosedyre, Filter_Top3_Items() .
- Og brukte deretter Operator:=xlTop10Items til Filter for de tre beste data .
- Nå følg det tredje trinnet fra første eksempel for å åpne Makrodialog boks .
- Deretter velger du Makronavnet som nevnt i kodene og trykker Kjør .
Da vil du få utdata som bildet nedenfor-
Les mer: Hvordan filtrere basert på celleverdi ved hjelp av Excel VBA (4 metoder)
Lignende avlesninger
- Hvordan kopiere og lime inn når Filter brukes i Excel
- Hvordan filtrere unike verdier i Excel (8 enkle måter)
- Filtrer flere kriterier i Excel med VBA (begge OG- og ELLER-typer)
- Hvordan bruke tekstfilter i Excel (5 eksempler)
- Hvordan filtrere etter dato i Excel (4 raske Metoder)
5. Bruk VBA-kode for å filtrere topp 50 prosenter i Excel
La oss bruke VBA koder til å filtrere topp femti prosent av elevene basert på alderen deres .
Trinn:
- Først Følg de to første trinnene i det første eksempelet for å åpne VBA-vinduet .
- Senere skriv inn følgende koder i det-
6949
- Minimer VBA-vinduet .
Kodesammenbrudd
- Her opprettet jeg en Sub prosedyre, Filter_Top50_Percent() .
- Senere brukte Operator:=xlTop10Percent til Filtrer topp femti prosent fra kolonne-4 .
- For øyeblikket følg det tredje trinnet fra første eksempel for å åpne 1>Makrodialogboks.
- Deretter velger du det angitte Makronavnet og trykker Kjør .
Det var totalt 7 elever , så for 50 prosent viser det omtrent tre elever .
Les mer: Hvordan bruke formelen for fortjenesteprosent i Excel (3 eksempler)
6 . Bruk VBA-kode for å filtrere data ved å bruke jokertegn
Vi kan bruke jokertegn-* (stjerne) i VBA-koder for å filtrere data i Excel. Fra Status-kolonnen filtrerer vi bare verdiene som inneholder «Innlegg» .
Trinn:
- Følg de to første trinnene i første eksempel for å åpne VBA-vinduet .
- Skriv deretter følgende koder i den-
6991
- Minimer VBA-vinduet senere.
Kodeoversikt
- Her opprettet jeg en Sub prosedyre, Filter_with_Wildcard() .
- Brukt deretter Range (“B4”) for å angi området.
- Next , used AutoFilter til Filtrer i Felt:=3 betyr kolonne 3.
- Kriterier1:=”*Innlegg *” for å filtrere verdiene som inneholder 'Innlegg'.
- Nå følg det tredje trinnet fra den første eksempel for å åpne dialogen Makroerboks.
- Velg det angitte Makronavnet og trykk Kjør .
Da vil du få ønsket utgang.
Les mer: Hvordan legge til filter i Excel (4 metoder) )
7. Bygg inn Excel VBA for å kopiere filtrerte data i et nytt ark i Excel
Se at det er noen filtrerte data i datasettet mitt. Nå skal jeg kopiere dem til et nytt ark med VBA . Disse kodene vil ikke fungere ordentlig i arket, du må bruke dem i modulen.
Trinn:
- Trykk Alt+F11 for å åpne VBA
- Deretter klikker du Sett inn > Modul for å åpne en modul .
- Skriv Nå følgende koder –
3360
- Deretter minimerer VBA
Kodeoversikt
- Her opprettet jeg en Sub prosedyre, Copy_Filtered_Data_NewSheet() .
- Etter det erklært to-variabel- x Rng som område og xWS som regneark.
- Bruket deretter en IF-setning for å sjekk Filtrert
- Senere, brukte MsgBox for å vise utdata.
- Bruket deretter Worksheets(“Kopier filtrerte data”). AutoFilter .Range for å velge Filtered -området og brukte Add for å legge til et nytt ark.
- Til slutt, Copy Range(“G4”) vil kopiere filtrerte data til det nye arket .
- Senere følgtredje trinn fra første eksempel for å åpne Makro-dialogboksen .
- Deretter velger du det angitte Makronavnet og trykk Kjør .
Nå ser du at Excel har åpnet et nytt ark og kopiert de filtrerte radene.
Les mer: Snarvei for Excel-filter (3 raske bruksområder med eksempler)
8. Bruk VBA-kode for å filtrere data ved å bruke rullegardinlisten
I vårt siste eksempel lager vi en rullegardinliste for kjønn først, så bruker vi den til å filtrere data. For det har jeg plassert kjønnskriteriene et annet sted, og vi lager en rullegardinliste i celle D14 .
Trinn:
- Velg Celle D14 .
- Deretter klikker du som følger: Data > Dataverktøy > Datavalidering > Datavalidering.
Snart etter åpnes en dialogboks .
Velg Liste fra rullegardinmenyen Tillat .
Deretter klikker du på Åpne-ikonet fra Kilde-boksen .
Nå velg kriterieområdet og trykk på Enter-knappen .
- Akkurat nå trykker du OK .
Nå er rullegardinlisten vår klar.
- Nå Følg de to første trinnene i det første eksemplet for å åpne VBA-vinduet .
- Deretter skriver du følgende koder i den-
7276
- Deretter minimerer du VBAvindu .
Kodeoversikt
- Her opprettet jeg en Privat Sub prosedyre, Worksheet_Change(ByVal Target As Range).
- Deretter valgte jeg Arbeidsark fra Generelt og Endre fra Erklæringer .
- Sett deretter Adressen for å vite plasseringen.
- Til slutt i HVIS -setningen brukte AutoFilter -metoden med Felt og Kriterier
- Nå velger du kriterier fra rullegardinlisten og filteret vil aktiveres .
Her er Filtrert utdata etter å ha valgt Mann fra rullegardinmenyen .
Les mer: Hvordan filtrere etter liste i et annet ark i Excel (2 metoder)
Praksisdel
Du vil få et øvingsark i Excel-filen ovenfor for å øve på de forklarte måtene.
Konklusjon
Jeg håper prosedyrene beskrevet ovenfor vil være gode nok til å bruke VBA kode for å filtrere data i excel. Still gjerne spørsmål i kommentarfeltet og gi meg tilbakemelding.