VBA AutoFilter

I VBA kan du lage Autofilter for å filtrere et celleområde eller en Excel -tabell. I denne opplæringen lærer du hvordan du lager Autofilter for en eller flere kolonner og for flere forhold.

Hvis du vil lære å bruke et avansert filter i VBA, klikker du her: VBA avansert filter

Opprette AutoFilter i VBA

Først vil du se hvordan du bare lager Autofilter i et område, slik at en bruker kan filtrere dataene. Dataene vi vil bruke i eksemplene er i Bilde 1:

Bilde 1. Data for AutoFilter -eksempler

Her er koden for å lage Autofilter:

1 Ark1.Range ("A1: E1"). Autofilter

For å aktivere Autofilter, må vi spesifisere toppteksten i området, i vårt tilfelle A1: E1, og bruke Autofilter objektets metode Område. Som et resultat har våre dataområder aktivert filtre:

Bilde 2. Autofilter aktivert for dataene

Autofilter med felt- og kriterieparametere

VBA lar deg også automatisk filtrere et bestemt felt med bestemte verdier.

For å gjøre dette må du bruke parametere Felt og Kriterier 1 av metoden Autofilter. I dette eksemplet vil vi filtrere den tredje kolonnen (Produkt) for Produkt A. kun. Her er koden:

12 Ark1.Range ("A1: E1"). Autofilterfelt: = 3, _Kriterier1: = "Produkt A"

I Felt parameter, kan du angi nummeret på kolonnen i området (ikke i Excel), mens du er i Kriterier 1 du kan sette verdien du vil filtrere. Etter å ha utført koden, ser tabellen vår slik ut:

Bilde 3. Autofilter med felt og kriterier

Som du kan se, bare rader med Produkt A. i den tredje kolonnen vises i dataområdet.

AutoFilter med verdier for felt og flere kriterier

Hvis du vil filtrere ett felt med flere verdier, må du bruke parameteren Operatør av Autofilter metode. For å filtrere flere verdier må du angi Operatør til xlFilterValues og også å sette alle verdiene til Kriterier i en matrise. I dette eksemplet filtrerer vi Produkt kolonne for Produkt A og Produkt B. Her er kodeeksemplet:

123 Ark1.Range ("A1: E1"). Autofilterfelt: = 3, _Kriterier1: = Array ("Produkt A", "Produkt B"), _Operatør: = xlFilterValues

Når vi kjører koden, får vi bare rader med produkt A og produkt B, som du kan se på bilde 4:

Bilde 4. Autofilter med flere kriterier

AutoFilter Data Range med flere kriterier

Hvis du vil filtrere et felt med flere kriterier, må du bruke Kriterier 1 og Kriterier 2 parametere, men også Operatør xlAnd.

I det neste eksemplet filtrerer vi den første kolonnen (Dato) for datoer i desember 2022. Derfor har vi to kriterier: en dato større enn 12/01/18 og mindre enn 31/12/18. Dette er koden:

1234 Ark1.Range ("A1: E1"). Autofilterfelt: = 1, _Kriterier1: = "> = 12/01/2018", _Operatør: = xlAnd, _Kriterier2: = "<= 31/12/2018"

Når vi kjører koden, kan du se at bare datoer i desember vises i dataområdet:

Bilde 5. Autofilter med flere kriterier for feltet

Operatørparameterverdiene for AutoFilter -metoden

I tabellen ved siden av. du kan se alle mulige verdier av Operatør parameter for AutoFilter -metoden og beskrivelsene deres:

Operatør Beskrivelse
xlAnd Inkluderer flere kriterier - Criteria1 og Criteria 2
xlOr Inkluderer ett av flere kriterier - Criteria1 eller Criteria 2
xlTop10Items Filtrerer et visst antall høyest rangerte verdier (antall spesifisert i kriterium1)
xlBottom10Varer Filtrerer et visst antall lavest rangerte verdier (antall spesifisert i kriterium1)
xlTop10Prosent Filtrerer en viss prosentandel av høyest rangerte verdier (% spesifisert i kriterium1)
xlBottom10Prosent Filtrerer en viss prosentandel av lavest rangerte verdier (% spesifisert i kriterium1)
xlFilterValues Inkluderer flere kriterier med Array
xlFilterCellColor Filtrerer celler for farger
xlFilterFontColor Filtrerer celler for skriftfarger
xlFIlterIcon Filtrer ikoner
xlFilterDynamic Filtrer dynamiske verdier
wave wave wave wave wave