VBA AutoFilter - Hur använder jag VBA AutoFilter-kriterier för att filtrera data?

Innehållsförteckning

Excel VBA AutoFilter

AutoFilter i VBA används som ett uttryck och syntaxen för det enligt Expression. Autofilter (Field, Criteria 1, Operator, Criteria 2, Dropdown) alla argument är valfria. Filtret hjälper till att filtrera den specifika informationen från enorma data.

Antag att du är en vanlig användare, så är excel-filter inte en konstig sak för dig. Några av de verktyg vi använder i kalkylbladet är också integrerade i VBA, och alternativet för automatisk filter är ett av de viktiga verktygen som finns i VBA. Som vi alla vet är excel-filter tillgängligt under datafliken.

Med det här filteralternativet kan vi leka med data. Om du har att göra med en minimal mängd data och om du tror att VBA-autofilter-alternativet inte är nödvändigt, kan du fortsätta använda alternativet för kalkylfilter.

Om du har att göra med en enorm mängd data kan du använda ett alternativ för Autofilter för att förenkla processflödet.

Syntax för autofilterfunktionen

AutoFilter i Excel VBA kan användas med ett intervallobjekt. Liksom våra andra funktioner har även denna sin egen syntax.

  • Område: Området är helt enkelt i vilket intervall du vill använda filtret.
  • Fält: Fält betyder från vilken kolumn i intervallet du har valt att du vill filtrera bort data. En kolumn räknas från vänster till höger.

Till exempel, om ditt intervall är från A1 till D100 och du vill använda ett filter för D-kolumnen, är ditt fältnummer 4 eftersom D i det valda intervallet är den fjärde kolumnen.

Kriterier 1: I fältet har du valt vad du vill filtrera.

  • Operatör: Om du vill tillämpa mer än ett kriterium för att filtrera data måste vi använda operatörssymboler. Några av operatörskoderna är som nedan.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Kriterier 2: Vad är det andra du vill filtrera tillsammans med Kriterier 1?

  • Synlig rullgardinsmeny: Vill du visa ikonen för filter fop down i den filtrerade kolumnen. Om du vill visa SANT är argumentet, om inte FALSE, är argumentet.

Hur applicerar jag filter med VBA AutoFilter? (med exempel)

Antag nedan de uppgifter du arbetar med.

Nu genom att använda VBA-kod kommer vi att tillämpa filtret. Följ stegen nedan för att tillämpa filtret.

Steg 1: Starta delproceduren genom att ge makrot ett namn.

Koda:

Sub AutoFilter_Example1 () Avsluta Sub

Steg 2: Det första är i vilket intervall vi behöver för att tillämpa filtret. I det här fallet måste vi tillämpa intervallet från intervall A1 till E25.

Koda:

Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Steg 3: När området har valts, använd nu alternativet för automatisk filter.

Koda:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter End Sub

Vi väljer inte några värden med hjälp av ett autofilter. Snarare använder vi bara filtret vid denna tidpunkt.

Kör koden med F5-tangenten, eller manuellt, den infogar filter för det valda intervallet.

Så det har använt ett filter på data. Nu kommer vi att se hur man filtrerar bort data.

Exempel nr 1 - Filtrera bort data med hjälp av AutoFilter

Tänk på samma data från exemplet ovan. Nu måste vi filtrera bort "Finans" -avdelningen från avdelningskolumnen.

Steg 1: När filtret har tillämpats är det första argumentet att nämna från vilken kolumn vi filtrerar data. I det här fallet måste vi filtrera data från kolumnen Avdelning, så kolumnnummer om 5.

Koda:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, End Sub

Steg 2: Kriterier 1 är inget annat än vad vi vill filtrera från den femte kolumnen. Så vi måste filtrera bort "Ekonomi".

Koda:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance" End Sub

Så det är allt, kör den här koden manuellt, eller genom F5-tangenten, den filtrerar bara bort "Ekonomi" från listan.

Exempel # 2 - Operatör i AutoFilter

Vi har sett hur man filtrerar det enskilda värdet. Nu kommer vi att se hur man filtrerar flera element. Antag att du tillsammans med "Ekonomi" vill filtrera avdelningen "Försäljning", så att vi kan göra detta med hjälp av operatörer.

Steg 1: När du har tillämpat de första kriterierna i nästa argument, välj operatören som "xlOr."

Koda:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr End Sub

Step 2: Now, in Criteria 2, mention the value as “Sales.”

Code:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr, Criteria2:="Sales" End Sub

Step 3: Ok, done run this code using the F5 key or manually, it will filter out both “Finance” & “Sales.”

In the Operator argument, I have used “xlOr” this will select both “Finance” & “Sales” under the filter.

Example #3 - Filter Numbers using AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Example4 () With Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance". AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "Avsluta med slut-sub

Detta filtrerar bort två kolumner.

Kör den här koden med F5-tangenten, eller så kan du köra manuellt.

Saker att komma ihåg

  • Prova olika kombinationer under Operator för att få kunskap om VBA AutoFilter.
  • Om du inte är säker på vad du ska sätta i, försök använda makroinspelaren.
  • Om du vill filtrera bort textvärden måste du ange dem med dubbla citat.
  • Använd WITH-uttalandet för att tillämpa mer än ett kolumnfilter.

Intressanta artiklar...