Како применити и избрисати филтер из података помоћу ВБА?

Преглед садржаја

Екцел ВБА филтер

ВБА алатка за филтрирање користи се за сортирање или преузимање одређених жељених података, функција аутоматског филтрирања користи се као функција радног листа, међутим ова функција има и друге аргументе који су опционални, а једини обавезни аргумент је израз који покрива опсег, на пример радни листови („Схеет1“). Опсег („А1“). Аутофилтер ће применити филтер на прву колону.

Филтер у ВБА ради на исти начин као и на радном листу. Једино што се разликује је то што можемо аутоматизовати рутински задатак филтрирања података путем кодирања.

АутоФилтер је функција која укључује многе вредности синтаксе. Испод су параметри укључени у функцију АутоФилтер.

  • Опсег је прва ствар коју морамо да понудимо да бисмо користили опцију „АутоФилтер“. Ово је једноставно за који опсег ћелија треба да применимо филтер, на пример, опсег („А1: Д50“).
  • Поље је први аргумент у функцији. Једном када је опсег ћелија одабран кроз објекат ВБА РАНГЕ, морамо напоменути за коју колону опсега желимо да применимо филтер.
  • Критеријум 1 није ништа друго него у одабраном пољу, коју вредност желите да филтрирате.
  • Оператор се користи у случају да желите да користите аргумент Критеријуми 2 . У овој опцији можемо користити доње опције.
    клАнд, клОр, клБоттом10Итемс, клТоп10Итемс, клТоп10Перцент, клБоттом10Перцент, клФилтерЦеллЦолор, клФилтерДинамиц, клФилтерФонтЦолор, клФилтерИцон, клФилтерВалуес
  • Видљиво падајуће место је да ли треба приказати симбол филтера у колони примењеној на филтер или не. Ако желите приказати, онда аргумент можете навести као ТРУЕ или ФАЛСЕ.

Примери за филтрирање података помоћу ВБА

Пример # 1 - Примена или уклањање филтера на податке

У случају да ако желите да примените опцију филтера на податке, можемо искључити и укључити ову опцију. На пример, погледајте доњу слику података.

Корак 1: Наведите опсег података

Да бисмо прво активирали опцију филтера, треба да наведемо колики је наш опсег података. На горњој слици, наши подаци се шире од А1 до Г31, па наведите овај опсег помоћу објекта РАНГЕ.

Шифра:

Суб Филтер_Екампле () Опсег ("А1: Г31") Крај Суб
Корак 2: Затим приступите функцији АутоФилтер

Сада приступите функцији АутоФилтер за овај опсег.

Шифра:

Подфилтер_Пример () Опсег ("А1: Г31"). АутоФилтер Енд Суб
Корак 3: Покрените код да бисте омогућили филтер

То је све. Покрените овај код да бисте омогућили аутоматски филтер.

Овај код ради као прекидач, а ако се филтер не примени, онда ће се применити. Ако је већ примењено, уклониће га.

Пример # 2 - Филтрирање специфичних вредности

Сада ћемо видети како да користимо параметре опције АутоФилтер. Узмите исте податке као горе. На пример, сада морамо да филтрирамо сва „мушка“ родна имена.

Корак 1: Изаберите опсег и отворите функцију аутоматског филтера
Корак 2: Затим изаберите поље

У првом аргументу функције, тј. Фиелд, морамо споменути референцу колоне коју бисмо желели да филтрирамо. У овом примеру морамо филтрирати само „мушке“ кандидате, што је колона „Ц“, тако да је број колоне 3.

Корак 3: Сада поменуте критеријуме

Сада за ово испоручено поље морамо споменути критеријуме 1, тј. Коју вредност треба филтрирати у поменутом пољу. Из ове колоне морамо да филтрирамо „Мушко“.

Шифра:

Подфилтер_Пример () Опсег ("А1: Г31"). Поље аутоматског филтера: = 3, критеријуми1: = "Мушки" Крај под
Корак 4: И покрените код

Ок, то је све. Овај код ће сада филтрирати само кандидате „мушког пола“.

Пример # 3 - Употреба аргумента ОПЕРАТОР

When you want to filter out more than one value from the column, we need to use the “Operator” argument. For example, from the column “Major,” we need to filter only “Math & Politics,” then we need to use this argument.

Step 1: Select Range and Autofilter Field

First, supply the Range of cells and fields.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, End Sub
Step 2: Enter Criteria 1 as Math

For the mentioned filed, we need to supply Criteria 1 as “Math.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", End Sub
Step 3: Use Operator xl

Since we need to filter one more value from the same column or field, use the operator symbol as “xlOr.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr End Sub
Step 4: Enter Criteria 2 as Politics

And for Criteria 2 argument mention the value as “Politics.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr, Criteria2:="Politics" End Sub

This will filter out both “Math” & “Politics” from column “Major.”

Example #4 - Filter Numbers with Operator Symbols

For example, if you want to filter numbers with, then we can filter a specific number as well as numbers above, below, or between specific values and range of values.

For example, from the age column, if you want to filter persons aged more than 30, then we can write the code like below.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">30" End Sub

This will filter all the values that are more than 30.

Now, if you want to filter values between 21 and 31, then we can use the below code.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">21", Operator:=xlAnd, Criteria2:="<31" End Sub

This will filter persons aged between 21 and 30.

Example #5 - Apply Filter for More Than One Column

If you want to filter values from more than one column criteria, then we need to use a slightly different technique.

If you want to filter “Student Status” as “Graduate” and “Country” as “US,” then first, we need to supply the RANGE of cells under the “WITH” statement.

Code:

Sub Filter_Example() With Range("A1:G31") End With End Sub

Сад у наредби ВИТХ наведите прве критеријуме који се филтрирају.

Шифра:

Суб Филтер_Екампле () са опсегом ("А1: Г31"). Поље АутоФилтер: = 4, Цритериа1: = "Градуате" Енд Витх Енд Суб

Сада у следећем реду учините исто за „Држава“ тако што ћете променити „Поље“ као 6 и Критеријуми као „САД“.

Шифра:

Подфилтер_Пример () са опсегом ("А1: Г31"). Поље АутоФилтер: = 4, Критеријуми1: = "Дипломирано". Поље АутоФилтер: = 6, Критеријуми1: = "УС" Крај са крајњим суб

Сада ће ово филтрирати „Дипломирај“ само за земљу „САД“.

Ствари које треба запамтити

  • Прво ће се применити само за поменути опсег ћелијских филтера.
  • Поље је ништа у којој колони желите да филтрирате податке.
  • У случају да филтрирате вредности из више колона, онда користите Витх.

Занимљиви Чланци...