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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave