Код VBA для фільтрацыі даных у Excel (8 прыкладаў)

  • Падзяліцца Гэтым
Hugh West

Excel Сартаваць & Каманда Filter мае абмежаваны дыяпазон да Filter data . Але з дапамогай VBA вы можаце Фільтраваць даныя ў шырокім дыяпазоне, як хочаце. Гэты артыкул дасць вам 8 карысных прыкладаў выкарыстання кода VBA для фільтравання даных у Excel з выкарыстаннем кодаў VBA з яркімі ілюстрацыямі.

Спампуйце вучэбны сшытак

Вы можаце загрузіць бясплатны шаблон Excel адсюль і папрактыкавацца самастойна.

Код VBA для фільтрацыі даных.xlsm

8 прыкладаў выкарыстання кода VBA для фільтрацыі даных у Excel

Давайце спачатку пазнаёмімся з нашым наборам даных, які прадстаўляе некаторыя пол, статус і Узрост .

1. Выкарыстоўвайце код VBA для фільтрацыі даных на аснове тэкставых крытэрыяў у Excel

У нашым самым першым прыкладзе мы будзем выкарыстоўваць VBA толькі для фільтрацыі <1 Студэнты>мужчыны са слупка Пол набору даных.

Этапы:

  • Пстрыкніце правай кнопкай мышы на назве аркуша .
  • Затым абярыце "Прагляд кода" з кантэкстнага меню .

Хутка пасля гэтага адкрыецца акно VBA .

  • Увядзіце наступныя коды ў it-
3916
  • Пазней згарніце VBA

Разбіўка кода

  • Тут я стварыў працэдуру Sub , Filter_Data_Text() .
  • Затым выкарыстаў Уласцівасць Range для аб'явы адпаведнага назвы аркуша і дыяпазон
  • Далей я выкарыстаў метад аўтафільтра для выкарыстання Крытэрыяў па маім выбары, дзе Поле:=2 азначае слупок 2 . І Criteria1:=”Male” , каб Фільтраваць даныя для Male.
  • Пасля гэтага, каб адкрыйце дыялогавае акно Макрасы , націсніце наступным чынам: Распрацоўшчык > Макрасы.

  • Выберыце назву макраса , як паказана ў кодах .
  • Нарэшце, проста націсніце Run .

Цяпер паглядзіце, што ў нас ёсць толькі Дадзеныя аб студэнтах пасля Фільтрацыі .

Дадатковая інфармацыя: Даныя фільтра Excel на аснове Значэнне клеткі (6 эфектыўных спосабаў)

2. Прымяніць код VBA для фільтрацыі даных па некалькіх крытэрыях у адным слупку

Тут мы Фільтруем па некалькіх крытэрыях у адным слупку. З трэцяга слупка набору даных мы будзем фільтраваць для аспірантаў і аспірантаў .

Крокі:

  • Выканайце першыя два крокі з першага прыкладу , каб адкрыць акно VBA .
  • Пазней, увядзіце наступныя коды ў ім-
6628
  • Затым мінімізуйце VBA

Разбіўка кода

  • Тут я стварыў Sub працэдуру, Filter_One_Column() .
  • Затым выкарыстаў уласцівасць Range , каб аб'явіць нашу адпаведную імя аркуша і дыяпазон
  • Далей я выкарыстаў theМетад аўтафільтра для выкарыстання Крытэрыяў па маім выбары, дзе Поле:=3 азначае слупок 3 . Тут Крытэрый1:=”Выпускнік” і Крытэрый2:=”Аспірант” для фільтравання статусу студэнта.
  • Нарэшце, я выкарыстаў Operator:=xlOr , каб прымяніць OR умову Filter для некалькіх крытэраў.
  • На гэтым выканайце трэці крок з першага прыкладу , каб адкрыць дыялогавае акно макрасаў .
  • Пазней выберыце пазначанае назва макраса і націсніце Выканаць .

Неўзабаве пасля гэтага вы атрымаеце адфільтраваныя радкі на аснове некалькіх крытэрыяў, як на малюнку ніжэй.

Дадатковая інфармацыя: Фільтрацыя некалькіх крытэрыяў у Excel (4 прыдатныя спосабы)

3. Ужывайце код VBA для фільтрацыі даных па некалькіх крытэрыях у розных слупках у Excel

Цяпер мы Фільтруем па некалькіх крытэрыях - Мужчына і Выпускнік студэнты.

Крокі:

  • Выканайце першыя два крокі з першага прыкладу , каб адкрыйце VBA
  • Пазней напішыце наступныя коды ў ім-
6697
  • Пасля што мінімізаваць акно VBA .

Разбіўка кода

  • Тут я стварыў працэдуру Sub , Filter_Different_Columns() .
  • Потым я выкарыстаў аператар With для выкарыстання Некалькі слупкоў .
  • Затым выкарыстоўваўся Дыяпазон уласцівасць, каб аб'явіць нашу адпаведную імя аркуша і дыяпазон
  • Далей я выкарыстаў метад AutoFilter для выкарыстання Крытэрыяў мой выбар, дзе Поле:=2 азначае слупок 2 , а Поле:=3 азначае слупок 3 .
  • Тут , абраны Крытэрый1:=”Мужчына” для слупка Пол і Крытэрый1:=”Выпускнік” для слупка Статус для Фільтра даныя з розных слупкоў .
  • Затым выконвайце трэці крок з першага прыкладу , каб адкрыць Дыялогавае акно макрасаў .
  • Пазней выберыце пазначанае імя макраса і націсніце Выканаць .

Вось вынік некалькіх крытэрыяў.

Дадатковая інфармацыя: Excel VBA для фільтрацыі ў адным слупку па некалькіх крытэрыях (6 прыкладаў)

4. Выкарыстоўвайце код VBA для фільтрацыі 3 лепшых элементаў у Excel

У гэтым прыкладзе мы будзем фільтраваць трох лепшых студэнтаў у адпаведнасці з іх узростам .

Крокі:

  • Выканайце першыя два крокі з першага прыкладу , каб адкрыць акно VBA .
  • Затым увядзіце наступныя коды ў ім-
1331
  • Пасля гэтага мінімізуйце Акно VBA .

Разбіўка кода

  • Вось я стварыў працэдуру Sub , Filter_Top3_Items() .
  • А потым выкарыстаў Operator:=xlTop10Items для Filter для тройка лепшых дадзеныя .
  • Цяпер выканайце трэці крок з першага прыкладу , каб адкрыць Дыялогавае акно макрасаў .
  • Затым выберыце імя макраса , як паказана ў кодах, і націсніце Выканаць .

Тады вы атрымаеце вынік, як на малюнку ніжэй-

Больш падрабязна: Як фільтраваць на аснове значэння ячэйкі з дапамогай Excel VBA (4 метады)

Падобныя паказанні

  • Як скапіяваць і ўставіць, калі Фільтр прымяняецца ў Excel
  • Як фільтраваць унікальныя значэнні ў Excel (8 простых спосабаў)
  • Фільтраваць некалькі крытэрыяў у Excel з VBA (абодва Тыпы І і АБО)
  • Як выкарыстоўваць тэкставы фільтр у Excel (5 прыкладаў)
  • Як фільтраваць па даце ў Excel (4 хуткія Метады)

5. Выкарыстоўвайце код VBA для фільтрацыі 50 лепшых працэнтаў у Excel

Давайце выкарыстаем коды VBA для фільтрацыі пяцідзесяці працэнтаў студэнтаў у залежнасці ад іх узросту .

Крокі:

  • Спачатку выканайце першыя два крокі з першага прыкладу каб адкрыць акно VBA .
  • Пазней увядзіце наступныя коды ў ім-
4229
  • Згарніце акно VBA .

Разбіўка кода

  • Тут я стварыў працэдуру Sub , Filter_Top50_Percent() .
  • Пазней я выкарыстоўваў Operator:=xlTop10Percent да Адфільтраваць верхнія пяцьдзесят працэнтаў слупок-4 .
  • У гэты момант выканайце трэці крок з першага прыкладу каб адкрыць Дыялогавае акно макрасаў.
  • Затым выберыце пазначанае імя макраса і націсніце Выканаць .

Усяго было 7 навучэнцаў , таму для 50 працэнтаў паказваецца прыкладна тры навучэнцы .

Дадатковая інфармацыя: Як выкарыстоўваць формулу адсотка прыбытку ў Excel (3 прыклады)

6 . Прымяніць код VBA для фільтрацыі даных з выкарыстаннем падстаноўных знакаў

Мы можам выкарыстоўваць Сімвалы падстаноўкі-* (зорачка) у кодах VBA для фільтрацыі даных у Excel. У слупку «Статус» мы будзем фільтраваць толькі значэнні, якія змяшчаюць «Паведамленне» .

Крокі:

  • Выканайце першыя два крокі з першага прыкладу , каб адкрыць акно VBA .
  • Затым напішыце наступныя коды ў ім-
7442
  • Пазней згарніце акно VBA .

Разбіўка кода

  • Тут я стварыў працэдуру Sub , Filter_with_Wildcard() .
  • Затым выкарыстоўвалі Дыяпазон (“B4”) , каб усталяваць дыяпазон.
  • Далей , выкарыстоўвалі Аўтафільтр да Фільтр у полі:=3 азначае слупок 3.
  • Крытэрый1:=”*Паведамленне *” каб Фільтраваць значэнні, якія ўтрымліваюць 'Апублікаваць'.
  • Цяпер выканайце трэці крок з першага прыклад каб адкрыць дыялогавае акно Макрасыполе.
  • Выберыце пазначанае Назва макраса і націсніце Выканаць .

Тады вы атрымаеце жаданы вынік.

Дадатковая інфармацыя: Як дадаць фільтр у Excel (4 метады )

7. Убудаваць Excel VBA для капіявання адфільтраваных даных у новы аркуш у Excel

Глядзіце, што ў маім наборы даных ёсць некаторыя адфільтраваныя даныя. Цяпер я скапірую іх на новы аркуш з дапамогай VBA . Гэтыя коды не будуць працаваць належным чынам у аркушы, вам прыйдзецца прымяніць іх у модулі.

Крокі:

  • Націсніце Alt+F11 , каб адкрыць VBA

  • Затым націсніце Уставіць > Модуль каб адкрыць модуль .

  • Цяпер напішыце наступныя коды
2574
  • Затым мінімізуйце VBA

Разбіўка кода

  • Тут я стварыў працэдуру Sub , Copy_Filtered_Data_NewSheet() .
  • Пасля гэтага аб'явіў дзве зменныя - x Rng як дыяпазон і xWS як працоўны ліст.
  • Затым выкарыстоўвалі выраз IF для праверце Filtered
  • Пазней выкарыстоўвалі MsgBox , каб паказаць вынік.
  • Потым выкарыстоўвалі Worksheets(“Copy Filtered Data”).AutoFilter .Range , каб выбраць дыяпазон Filtered і выкарыстоўваць Add , каб дадаць новы аркуш.
  • Нарэшце, Copy Range(“G4”) скапіруе Адфільтраваныя даныя на новы аркуш .
  • Пазней выконвайцетрэці крок з першага прыкладу , каб адкрыць дыялогавае акно макрасаў .
  • Затым выберыце пазначанае імя макраса і націсніце Выканаць .

Цяпер убачыце, што Excel адкрыў новы аркуш і скапіяваў адфільтраваныя радкі.

Дадатковая інфармацыя: Ярлык для фільтра Excel (3 хуткія спосабы выкарыстання з прыкладамі)

8. Прымяніць код VBA для фільтрацыі даных з дапамогай выпадальнага спісу

У нашым апошнім прыкладзе мы спачатку створым выпадальны спіс для гендэраў, а потым будзем выкарыстоўваць яго для фільтрацыі даных. Для гэтага я размясціў гендэрныя крытэрыі ў іншым месцы, і мы створым выпадальны спіс у ячэйцы D14 .

Крокі:

  • Абярыце Вочка D14 .
  • Затым пстрыкніце наступна: Даныя > Інструменты даных > Праверка даных > Праверка даных.

Неўзабаве пасля гэтага адкрыецца дыялогавае акно .

Выберыце Спіс з выпадальнага меню "Дазволіць" .

Затым пстрыкніце значок "Адкрыць" з поля Крыніца .

Цяпер выберыце дыяпазон крытэрыяў і націсніце кнопку Enter .

  • У гэты момант проста націсніце OK .

Цяпер наш выпадальны спіс гатовы.

  • Цяпер Выканайце першыя два крокі з першага прыкладу каб адкрыць акно VBA .
  • Затым напішыце наступныя коды ў ім-
3864
  • Затым мінімізуйце VBAакно .

Разбіўка кода

  • Тут я стварыў a Private Sub procedure, Worksheet_Change(ByVal Target As Range).
  • Потым я выбраў Працоўны ліст з Агульныя і Змяніць з Дэкларацыі .
  • Затым усталюйце Адрас , каб ведаць месцазнаходжанне.
  • Нарэшце ў аператары КАЛІ выкарыстоўваўся метад Аўтафільтра з Полем і Крытэрыі
  • Цяпер проста выберыце крытэрыі з выпадальнага спісу і Фільтр будзе актываваны .

Вось вынік Filtered пасля выбару Male з выпадальнага спісу .

Дадатковая інфармацыя: Як адфільтраваць спіс на іншым аркушы ў Excel (2 метады)

Практычны раздзел

Вы атрымаеце практычны аркуш у файле Excel, прыведзеным вышэй, каб практыкаваць растлумачаныя спосабы.

Выснова

Я спадзяюся, што апісаныя вышэй працэдуры будуць дастаткова добрымі для выкарыстання кода VBA для фільтравання дадзеных у excel. Не саромейцеся задаваць любыя пытанні ў раздзеле каментарыяў і дайце мне водгук.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.