VBA AutoFilter

In VBA kun je maken AutoFilter om een ​​celbereik of een Excel-tabel te filteren. In deze tutorial leer je hoe je een AutoFilter voor één of meerdere kolommen en voor meerdere voorwaarden.

Als je wilt leren hoe je een geavanceerd filter in VBA gebruikt, klik dan hier: VBA geavanceerd filter

AutoFilter maken in VBA

Eerst zul je zien hoe je gewoon kunt creëren AutoFilter in een bereik, zodat een gebruiker de gegevens kan filteren. De gegevens die we in de voorbeelden zullen gebruiken, staan ​​in Afbeelding 1:

Afbeelding 1. Gegevens voor voorbeelden van AutoFilter

Hier is de code voor het maken AutoFilter:

1 Blad1.Bereik ("A1:E1").AutoFilter

Om in te schakelen: AutoFilter, moeten we de kop van het bereik specificeren, in ons geval A1:E1, en de . gebruiken AutoFilter methode van het object Bereik. Als gevolg hiervan heeft ons databereik filters geactiveerd:

Afbeelding 2. AutoFilter ingeschakeld voor de gegevens

AutoFilter met veld- en criteriaparameters

Met VBA kunt u ook automatisch een bepaald veld filteren met bepaalde waarden.

Om dit te doen, moet u parameters gebruiken Veld en Criteria1 van de methode AutoFilter. In dit voorbeeld willen we de derde kolom filteren (Product) voor Product A enkel en alleen. Hier is de code:

12 Blad1.Bereik("A1:E1").AutoFilter Veld:=3, _Criteria1:="Product A"

In de Veld parameter, kunt u het nummer van de kolom in het bereik instellen (niet in Excel), terwijl u in Criteria1 u kunt de waarde invoeren die u wilt filteren. Na het uitvoeren van de code ziet onze tabel er als volgt uit:

Afbeelding 3. AutoFilter met veld en criteria

Zoals je kunt zien, alleen rijen met Product A in de derde kolom worden weergegeven in het gegevensbereik.

AutoFilter met veld- en meerdere criteriumwaarden

Als u een veld met meerdere waarden wilt filteren, moet u de parameter . gebruiken Operator van de AutoFilter methode. Om meerdere waarden te filteren, moet u instellen Operator tot xlFilterWaarden en ook om alle waarden van criteria in een array. In dit voorbeeld filteren we de Product kolom voor Product A en Product B. Hier is het codevoorbeeld:

123 Blad1.Bereik("A1:E1").AutoFilter Veld:=3, _Criteria1:=Array("Product A", "Product B"), _Operator:=xlFilterWaarden

Wanneer we de code uitvoeren, krijgen we alleen rijen met Product A en Product B, zoals je kunt zien in afbeelding 4:

Afbeelding 4. AutoFilter met meerdere criteriawaarden

AutoFilter gegevensbereik met meerdere criteria

Als u een veld met meerdere criteria wilt filteren, moet u Criteria1 en Criteria2 parameters, maar ook de Operator xlAnd.

In het volgende voorbeeld filteren we de eerste kolom (Datum) voor datums in december 2022. Daarom hebben we twee criteria: een datum groter dan 12/01/18 en kleiner dan 31/12/18. Dit is de code:

1234 Blad1.Bereik("A1:E1").AutoFilter Veld:=1, _Criteria1:=">=12/01/2018", _Operator:=xlAnd, _Criteria2:="<=12/31/2018"

Wanneer we de code uitvoeren, kunt u zien dat alleen datums in december worden weergegeven in het gegevensbereik:

Afbeelding 5. AutoFilter met meerdere criteria voor het veld

De operatorparameterwaarden van de AutoFilter-methode:

In de volgende tabel. u kunt alle mogelijke waarden van de . zien Operator parameter van de AutoFilter-methode en hun beschrijvingen:

Operator Beschrijving
xlAnd Bevat meerdere criteria - Criteria1 en Criteria 2
xlOr Bevat een van de meerdere criteria - Criteria1 of Criteria 2
xlTop10Items Filtert een bepaald aantal hoogst gerangschikte waarden (aantal gespecificeerd in Criteria1)
xlBottom10Items Filtert een bepaald aantal laagst gerangschikte waarden (aantal gespecificeerd in Criteria1)
xlTop10Procent Filtert een bepaald percentage van de hoogst gerangschikte waarden (% gespecificeerd in Criteria1)
xlBottom10Procent Filtert een bepaald percentage van de laagst gerangschikte waarden (% gespecificeerd in Criteria1)
xlFilterWaarden Bevat meerdere criteriawaarden met Array
xlFilterCelKleur Filtert cellen op kleuren
xlFilterLettertypeKleur Filtert cellen op lettertypekleuren
xlFIlterIcoon Filtert pictogrammen
xlFilterDynamisch Dynamische waarden filteren

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave