Змест
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. Не саромейцеся задаваць любыя пытанні ў раздзеле каментарыяў і дайце мне водгук.