VBA код за филтрирање податоци во Excel (8 примери)

  • Споделете Го Ова
Hugh West

Excel Сортирај & засилувач; Командата за филтрирање има ограничен опсег до Филтрирање податоци . Но, користејќи VBA можете Филтрирајте податоци во широк опсег како што сакате. Оваа статија ќе ви даде 8 корисни примери за користење VBA код за Филтрирање податоци во ексел користејќи VBA шифри со живописни илустрации.

Преземете ја работната книга за вежбање

Можете да го преземете бесплатниот образец Excel од овде и да вежбате сами.

ВБА код за филтрирање на Data.xlsm

8 примери за користење на VBA код за филтрирање податоци во Excel

Прво да се запознаеме со нашата база на податоци што претставува некои пол, статус и статус на студентите на студентите. Возраст .

1. Користете VBA код за филтрирање податоци врз основа на критериум за текст во Excel

Во нашиот прв пример, ќе користиме само VBA to Filter Машки ученици од колоната Род од сетот.

Чекори:

  • Десен-клик на насловот на листот .
  • Потоа изберете Види го кодот од Контекстното мени .

Наскоро потоа, ќе се отвори прозорец VBA .

  • Впишете ги следните шифри во it-
7237
  • Подоцна, минимизирајте го VBA

Разложување на кодот

  • Тука, создадов постапка Sub , Filter_Data_Text() .
  • Потоа ја искористив Својството Опсег за декларирање на нашето соодветно име на листот и опсег
  • Следно, го користев методот Автоматско филтрирање за да користам Критериуми по мој избор каде што Поле:=2 значи колона 2 . И Criteria1:=”Male” да Филтрираат податоците за Mash.
  • Потоа, на отворете го дијалог прозорецот Макроа , кликнете на следниов начин: Програмер > Макроа.

  • Изберете го Името на макрото како што е споменато во шифрите .
  • Конечно, само притиснете Run .

Сега погледнете дека имаме само Податоци за машки студенти по Филтрирање .

Прочитајте повеќе: Податоци за филтер на Excel врз основа на Вредност на ќелијата (6 ефикасни начини)

2. Примени VBA код за филтрирање податоци со повеќе критериуми во една колона

Тука, ќе филтрираме за повеќе критериуми во една колона. Од колоната број три од збирката податоци, ќе филтрираме за дипломирани и постдипломци студенти.

Чекори:

  • Следете ги првите два чекори од првиот пример за да го отворите прозорецот VBA .
  • Подоцна, напишете ги следните шифри во него-
7464
  • Потоа минимизирајте го VBA

Разложување на кодот

  • Тука, создадов Под постапка, Filter_One_Column() .
  • Потоа го искористивме својството Range за да ги декларираме нашите соодветни име на листот и опсег
  • Следно, го користев theМетод на автоматско филтрирање за користење на Критерии по мој избор каде што Поле:=3 значи колона 3 . Еве, Критериуми1:=”Дипломирани” и Критериуми2:=”Постдипломски” да Филтрираат Статусот на студентот.
  • Конечно, користев Оператор:=xlOr за да го применам ИЛИ услов Филтер за повеќе критериуми.
  • Овде момент, следете го третиот чекор од првиот пример за да го отворите дијалогот за макроа кутија .
  • Подоцна, изберете наведеното име на макро и притиснете Изврши .

Набргу потоа, ќе ги добиете Филтрираните редови врз основа на повеќе критериуми како на сликата подолу.

Прочитајте повеќе: Филтрирајте повеќе критериуми во Excel (4 соодветни начини)

3. Примени VBA код за филтрирање податоци со повеќе критериуми во различни колони во Excel

Сега ќе филтрираме за повеќе критериуми - Машко и дипломиран студенти.

Чекори:

  • Следете ги првите два чекори од првиот пример до отворете го VBA
  • Подоцна, напишете ги следните шифри во него -
5892
  • После што го минимизира прозорецот VBA .

Разложување на кодот

  • Овде, создадов Sub процедура, Filter_Different_Columns() .
  • Потоа, ја искористив изјавата With за употреба Повеќе колона .
  • Потоа се користи Опсег својство за да ги декларираме нашите соодветни име на листот и опсег
  • Следно, го користев методот Автоматско филтрирање за да користам Критериуми на мојот избор каде што Поле:=2 значи колона 2 и Поле:=3 значи колона 3 .
  • Тука , избрани Criteria1:=”Mash” за Пол колона и Criteria1:=”Graduate” за Статус колона во Филтер податоци од различни колони .
  • Потоа следете го третиот чекор од првиот пример за да ја отворите Дијалошко поле за макроа .
  • Подоцна, изберете го наведеното име на макро и притиснете Изврши .

Еве го излезот од повеќе критериуми.

Прочитај повеќе: Excel VBA да се филтрира во иста колона по повеќе критериуми (6 примери)

4. Користете VBA код за филтрирање на првите 3 ставки во Excel

Во овој пример, ќе ги филтрираме најдобрите тројца студенти според нивната возраст .

Чекори:

  • Следете ги првите два чекори од првиот пример за да го отворите прозорецот VBA .
  • Потоа напишете ги следните шифри во него -
2377
  • Потоа минимизирајте го VBA прозорец .

Разложување на кодот

  • Еве, јас создадов Sub процедура, Filter_Top3_Items() .
  • И потоа користев Operator:=xlTop10Items to Filter за првите три податоци .
  • Сега следете го третиот чекор од првиот пример за да го отворите Дијалог за макроа кутија .
  • Потоа изберете го името на макрото како што е споменато во шифрите и притиснете Изврши .

Потоа ќе го добиете излезот како на сликата подолу -

Прочитај повеќе: Како да се филтрира врз основа на вредноста на ќелијата користејќи Excel VBA (4 методи)

Слични читања

  • Како да копирате и залепите кога Филтерот се применува во Excel
  • Како да се филтрираат уникатни вредности во Excel (8 лесни начини)
  • Филтрирајте повеќе критериуми во Excel со VBA (и двете И и ИЛИ типови)
  • Како да се користи филтер за текст во Excel (5 примери)
  • Како да се филтрира по датум во Excel (4 Брзи Методи)

5. Користете VBA код за филтрирање на најдобрите 50 проценти во Excel

Ајде да користиме VBA шифри за да ги филтрираме првите педесет проценти од учениците врз основа на нивната возраст .

Чекори:

  • Прво, Следете ги првите два чекори од првиот пример за да го отворите прозорецот VBA .
  • Подоцна, напишете ги следните шифри во него-
8712
  • Минимизирајте го прозорецот VBA .

Разложување на кодот

  • Овде, создадов Sub процедура, Filter_Top50_Percent() .
  • Подоцна, користев Operator:=xlTop10Percent to Филтрирајте ги горните педесет проценти од колона-4 .
  • Во овој момент, следете го третиот чекор од првиот пример за да го отворите Дијалошко поле за макроа.
  • Потоа изберете го одреденото име на макро и притиснете Изврши .

Имаше вкупно 7 ученици така што за 50 отсто , покажува приближно три ученици .

Прочитајте повеќе: Како да ја користите формулата за процент на профит во Excel (3 примери)

6 . Примени VBA-код за филтрирање податоци со помош на џокер

Можеме да користиме Буски знаци-* (ѕвездичка) во VBA-кодови за да ги филтрираме податоците во Excel. Од колоната Статус , ќе ги филтрираме само вредностите што содржат „Објави“ .

Чекори:

  • Следете ги првите два чекори од првиот пример за да го отворите прозорецот VBA .
  • Потоа напишете следните кодови во него-
6865
  • Подоцна, минимизирајте го VBA прозорецот .

Разложување на кодот

  • Тука, создадов Под процедура, Филтер_со_мачка() .
  • Потоа се користи Опсег („B4“) за да се постави опсегот.
  • Следно , се користи AutoFilter to Filter in Полето:=3 значи колона 3.
  • Criteria1:=”*Објави *“ за Филтрирање вредностите што содржат „Објави“.
  • Сега следете го третиот чекор од прво пример за да го отворите дијалогот Макроаполе.
  • Изберете одреденото име на макро и притиснете Изврши .

Тогаш ќе го добиете саканиот излез.

Прочитајте повеќе: Како да додадете филтер во Excel (4 методи )

7. Вметнете Excel VBA за да копирате филтрирани податоци во нов лист во Excel

Видете дека има некои филтрирани податоци во мојата база на податоци. Сега ќе ги копирам во нов лист користејќи VBA . Овие кодови нема да работат правилно во листот, ќе мора да ги примените во модулот.

Чекори:

  • Притиснете Alt+F11 за да го отворите VBA

  • Потоа кликнете Вметни > Модул за отворете модул .

  • Сега напишете ги следните шифри
9675
  • Потоа минимизирајте го VBA

Разложување на кодот

  • Тука, создадов Под процедура, Copy_Filtered_Data_NewSheet() .
  • После тоа декларирани две променливи- x Rng како опсег и xWS како работен лист.
  • Потоа се користи а IF изјава за штиклирајте Филтрирано
  • Подоцна, се користи MsgBox за да се прикаже излезот.
  • Потоа се користат Работни листови („Копирај филтрирани податоци“). Автоматски филтер .Опсег за да го изберете опсегот Филтриран и го искористивте Додај за да додадете нов лист.
  • Конечно, Опсег на копирање(„G4“) ќе ги копира податоците Филтрирани во новиот лист .
  • Подоцна, следете готрет чекор од првиот пример за да го отворите полето за дијалог Макроа .
  • Потоа изберете наведеното име на макрото и притиснете Стартувај .

Сега видете дека Excel отвори нов лист и ги копира Филтрираните редови.

Прочитајте повеќе: Кратенка за Excel филтер (3 брзи употреби со примери)

8. Применете VBA код за филтрирање податоци користејќи паѓачка листа

Во нашиот последен пример, прво ќе направиме паѓачка листа за половите, а потоа ќе ја користиме за филтрирање на податоците. За тоа, ги поставив критериумите за пол на друга локација и ќе направиме паѓачка листа во Ќелија D14 .

Чекори:

  • Изберете Ќелија D14 .
  • Потоа кликнете на следниов начин: Податоци > Алатки за податоци > Валидација на податоци > Валидација на податоци.

Наскоро потоа, ќе се отвори дијалог поле .

Изберете Листа од паѓачкото мени Дозволи .

Потоа кликнете на иконата Отвори од Извор поле .

Сега одберете го опсегот на критериуми и притиснете го копчето Enter .

  • Во овој момент, само притиснете ОК .

Сега нашата паѓачка листа е подготвена.

  • Сега Следете ги првите два чекори од првиот пример за да го отворите VBA прозорецот .
  • Потоа напишете ги следните шифри во него-
3450
  • Потоа минимизирајте ја VBAпрозорец .

Разложување на кодот

  • Еве, јас создадов постапка Приватна под , Промена_Работен лист (ByVal Target As Range).
  • Потоа, избрав Работен лист од Општо и Промени од Декларации .
  • Потоа поставете ја Адресата за да ја знаете локацијата.
  • Конечно во IF изјавата го искористи методот AutoFilter со Поле и Критериуми
  • Сега само одберете критериуми од паѓачката листа и Филтерот ќе се активира .

Еве го излезот Филтриран откако ќе изберете Машко од опаѓачкото .

Прочитај повеќе: Како да се филтрира по листа во друг лист во Excel (2 методи)

Оддел за вежбање

Ќе добиете лист за вежбање во датотеката Excel дадена погоре за да ги вежбате објаснетите начини.

Заклучок

Се надевам дека постапките опишани погоре ќе бидат доволно добри за користење VBA код за Филтрирање податоци во ексел. Слободно поставете какви било прашања во делот за коментари и ве молам да ми дадете повратна информација.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.