ВБА АутоФилтер

У ВБА можете да креирате АутоФилтер да бисте филтрирали опсег ћелија или Екцел табелу. У овом водичу ћете научити како да креирате АутоФилтер за једну или више колона и за више услова.

Ако желите да научите како да користите напредни филтер у ВБА, кликните овде: ВБА напредни филтер

Креирање аутофилтера у ВБА

Прво ћете видети како само стварати АутоФилтер у опсегу, тако да корисник може филтрирати податке. Подаци које ћемо користити у примерима су на слици 1:

Слика 1. Подаци за примере аутофилтера

Ево кода за креирање АутоФилтер:

1 Схеет1.Ранге ("А1: Е1"). Аутофилтер

Да би се омогућило АутоФилтер, морамо специфицирати заглавље распона, у нашем случају А1: Е1, и користити АутоФилтер метод објекта Домет. Због тога су наши опсези података активирали филтере:

Слика 2. Аутоматски филтер омогућен за податке

Аутофилтер са параметрима поља и критеријума

ВБА вам такође омогућава да аутоматски филтрирате одређено поље са одређеним вредностима.

Да бисте то урадили, морате користити параметре Поље и Критеријуми1 метода АутоФилтер. У овом примеру желимо да филтрирамо трећу колону (Производ) за Производ А. само. Ево кода:

12 Схеет1.Ранге ("А1: Е1"). Поље аутофилтера: = 3, _Критеријуми1: = "Производ А"

У Поље параметар, можете поставити број колоне у опсегу (не у Екцелу), док је у Критеријуми1 можете ставити вредност коју желите да филтрирате. Након извршавања кода, наша табела изгледа овако:

Слика 3. Аутофилтер са пољем и критеријумима

Као што видите, само редови са Производ А. у трећој колони приказани су у опсегу података.

Аутофилтер са вредностима поља и више критеријума

Ако желите да филтрирате једно поље са неколико вредности, морате да користите параметар Оператер од АутоФилтер метода. Да бисте филтрирали више вредности, морате да подесите Оператер до клФилтерВалуес а такође и ставити све вредности Критеријуми у низу. У овом примеру филтрирамо Производ колона за Производ А. и Производ Б.. Ево примера кода:

123 Схеет1.Ранге ("А1: Е1"). Поље аутофилтера: = 3, _Критеријуми1: = Поље ("Производ А", "Производ Б"), _Оператор: = клФилтерВалуес

Када извршимо код, добијамо само редове са производом А и производом Б, као што можете видети на слици 4:

Слика 4. Аутофилтер са више вредности критеријума

Опсег података аутоматског филтрирања са више критеријума

Ако желите да филтрирате поље са више критеријума, морате га користити Критеријуми1 и Критеријуми2 параметре, али и Оператор клАнд.

У следећем примеру ћемо филтрирати прву колону (Датум) за датуме у децембру 2022. Стога имамо два критеријума: датум већи од 01.01.18. и мањи од 31.12.18. Ово је код:

1234 Схеет1.Ранге ("А1: Е1"). Поље аутофилтера: = 1, _Критеријуми1: = "> = 12/01/2018", _Оператер: = клАнд, _Критеријуми2: = "<= 31.12.2018"

Када извршимо код, видећете да су у опсегу података приказани само датуми у децембру:

Слика 5. Аутофилтер са више критеријума за поље

Вредности параметара оператора методе АутоФилтер

У следећој табели. можете видети све могуће вредности Оператер параметар методе АутоФилтер и њихови описи:

Оператер Опис
клАнд Укључује више критеријума - Критеријуми1 и Критеријум 2
клОр Укључује један од више критеријума - критеријум1 или критеријум 2
клТоп10Итемс Филтрира одређени број највиших вредности (број наведен у критеријумима 1)
клБоттом10Итемс Филтрира одређени број најнижих вредности (број наведен у критеријумима 1)
клТоп10Перцент Филтрира одређени проценат вредности са највишим рангом (% наведен у критеријумима 1)
клБоттом10Перцент Филтрира одређени проценат најнижих вредности (% наведених у критеријумима 1)
клФилтерВалуес Укључује више вредности критеријума са низом
клФилтерЦеллЦолор Филтрира ћелије за боје
клФилтерФонтЦолор Филтрира ћелије за боје фонтова
клФИлтерИцон Иконе филтера
клФилтерДинамиц Филтрирајте динамичке вредности

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave