Змест
Калі вы шукаеце спосабы фільтраваць з масівам некалькіх крытэрыяў у Excel VBA , то вы знаходзіцеся ў правільным месцы. Фільтраванне вялікага набору даных на аснове некалькіх крытэрыяў можа быць прасцей з дапамогай кодаў VBA , а не з дапамогай звычайнай функцыі Excel.
Такім чынам, давайце пачнем наш асноўны артыкул.
Спампаваць кнігу
Фільтр па некалькіх крытэрыях.xlsm
7 спосабаў фільтрацыі па некалькіх крытэрыях у масіве з дапамогай Excel VBA
У наступным наборы дадзеных у нас ёсць некаторыя запісы адзнак, якія адпавядаюць імёнам студэнтаў і іх ідэнтыфікатарам. Мы паспрабуем адфільтраваць гэты набор даных на аснове розных крытэрыяў у выглядзе масіва з дапамогай некаторых кодаў.
Мы выкарыстоўвалі тут версію Microsoft Excel 365 , вы можаце выкарыстоўваць любыя іншыя версіі ў залежнасці ад вашага зручнасці.
Метад 1: Фільтр па некалькіх крытэрыях у выглядзе тэкстаў у масіве
Тут мы паспрабуем адфільтраваць наступны набор даных на аснове Слупок імя студэнта для некалькіх крытэраў, які змяшчае радкі Эмілі , Даніэль і Габрыэль у масіве.
Крок-01 :
➤ Перайдзіце да Распрацоўшчык Укладка >> Параметр Visual Basic .
Затым адкрыецца Рэдактар Visual Basic .
➤ Перайдзіце да Уставіць Укладка >> Модуль Параметр.
Пасля гэтага Модуль будзествораны.
Крок-02 :
➤ Напішыце наступны код
1372
Тут мы дэкларавалі імёны загалоўкаў у дыяпазоне B3:D3 у якім мы будзем прымяняць фільтр і Field:=2 гэта нумар слупка гэтага дыяпазону, на аснове якога мы будзем выконваць гэты працэс фільтрацыі.
Нарэшце, мы задалі крытэрыі ў выглядзе масіва для аб'явы імёнаў некалькіх студэнтаў, такіх як Эмілі , Даніэль , і Габрыэль .
➤ Націсніце F5 .
Затым вы набор даных будзе адфільтраваны па некалькіх крытэрыях, каб паказаць імёны студэнтаў і іх адпаведныя ідэнтыфікатары і адзнакі для студэнтаў Эмілі , Даніэль і Габрыэль .
Дадатковая інфармацыя: Фільтрацыя некалькіх крытэрыяў у Excel (4 прыдатныя спосабы)
Метад-2: Фільтраванне па некалькіх лікавых крытэрыях у масіве з выкарыстаннем Excel VBA
Тут мы будзем фільтраваць наступны набор даных для ідэнтыфікатараў 101135 , 10 1137 і 101138 выкарыстоўваючы гэтыя лічбы ў якасці некалькіх крытэрыяў у масіве.
Крокі :
➤ Выконвайце Крок-01 з Метад-1 .
➤ Напішыце наступны код
8850
Тут мы аб'явілі імёны загалоўкаў у дыяпазоне B3:D3 , у якім мы будзем прымяняць фільтр, і Field:=2 гэта нумар слупка гэтага дыяпазону, на аснове якога мы зробіць гэтую фільтрацыю
Нарэшце, мы задалі крытэрыі ў выглядзе масіва для аб'явы ідэнтыфікатараў некалькіх студэнтаў, такіх як 101135 , 101137 і 101138 і мы змясцілі іх у двукоссі, каб вызначыць іх як радкі, таму што AutoFilter будзе працаваць толькі для масіва радкоў.
➤ Націсніце F5 .
Пасля гэтага вы атрымаеце імёны і адзнакі студэнтаў, якія маюць ідэнтыфікатары 101135 , 101137 і 101138 .
Больш падрабязна: VBA для атрымання ўнікальных значэнняў са слупка ў масіў у Excel (3 крытэрыі)
Метад 3: усталяванне некалькіх крытэрыяў у дыяпазоне для выкарыстання як масіў
Тут мы пералічылі крытэрыі ў слупку Спіс , які змяшчае ідэнтыфікатары 101134 , 101135 і 101136 на падставе якіх мы будзем выконваць працэс фільтрацыі.
Этапы :
➤ Выконвайце Крок-01 з Метад-1 .
➤ Напішыце наступны код
7040
тут , маем разл ared дыяпазон_ідэнтыфікатараў , k як варыянт і дыяпазон_ідэнтыфікатараў гэта масіў, які будзе захоўваць некалькі крытэрыяў, а k гэта крок у дыяпазоне ад ніжняй мяжы да верхняй мяжы гэтага масіва. Для атрымання ніжняй і верхняй мяжы мы выкарыстоўвалі функцыю LBOUND і функцыю UBOUND адпаведна.
Цыкл FOR выкарыстоўваецца для пераўтварэння значэнні, акрамя радкоўу масіў у радкі з дапамогай функцыі CStr . Нарэшце, мы выкарысталі гэты масіў як Крытэрый1 .
➤ Націсніце F5 .
Пасля гэтага вы атрымае імёны і адзнакі студэнтаў з ідэнтыфікатарамі 101134 , 101135 і 101136 .
Больш падрабязна: Фільтр розных слупкоў па некалькіх крытэрыях у Excel VBA
Падобныя паказанні
- Як адфільтраваць унікальныя значэнні ў Excel (8 простых спосабаў)
- Выканайце карыстацкі фільтр у Excel (5 Спосабы)
- Вылічыце сярэдняе значэнне масіва з дапамогай VBA (макрас, UDF і UserForm)
- Ярлык для фільтра Excel (3 спосабы хуткага выкарыстання) з прыкладамі)
Спосаб 4: Выкарыстанне функцый SPLIT і JOIN для стварэння масіва з некалькімі крытэрыямі
Тут мы будзем выкарыстоўваць наступны спіс у Спісе слупок у выглядзе масіва, і для правільнай фільтрацыі набору даных мы таксама будзем выкарыстоўваць функцыю SPLIT , функцыю JOIN і функцыю TRANSPOSE у Код VBA .
Крокі :
➤ Фол low Step-01 of Method-1 .
➤ Напішыце наступны код
7657
Тут TRANSPOSE будзе пераўтвараць масіў 2D у масіў 1D , інакш AutoFilter не будзе працаваць, JOIN злучыць кожнае са значэнняў у масіў радкоў, і, нарэшце, SPLIT разб'е кожны радок, каб даць уводіх асобна ў якасці крытэрыяў для фільтрацыі набору даных.
➤ Націсніце F5 .
Нарэшце, вы атрымаеце імёны і адзнакі студэнты з ідэнтыфікатарамі 101134 , 101135 і 101136 .
Больш падрабязна: Як падзяліць радок на масіў у VBA (3 спосабы)
Метад-5 : Фільтр з некалькімі крытэрыямі ў цыкле для масіва з VBA
У гэтым раздзеле мы будзем фільтраваць наступны набор даных у залежнасці ад слупка Ідэнтыфікатар студэнта для некалькіх крытэрыі, пералічаныя ў слупку Спіс .
Крокі :
➤ Выканайце Крок- 01 з Метад-1 .
➤ Напішыце наступны код
5314
Тут мы аб'явілі k як Integer , дыяпазон_ідэнтыфікатараў(100) як радок дзе дыяпазон_ідэнтыфікатараў гэта масіў, які можа захоўваць да 100 значэнняў. Каб вызначыць значэнні для гэтага масіва, мы выкарысталі цыкл FOR для k ад 4 да 6 у якасці нумароў радкоў Слупок Спіс і F - гэта імя слупка.
Нарэшце, мы выкарыстоўвалі гэты масіў у якасці Крытэрыя1 для Аўтафільтра .
➤ Націсніце F5 .
У рэшце рэшт, вы атрымаеце імёны і адзнакі студэнтаў, якія маюць ідэнтыфікатары 101134 , 101135 і 101136 .
Дадатковая інфармацыя: Фільтрацыя некалькіх крытэрыяў у Excel з дапамогай VBA (і І, і АБОТыпы)
Метад-6: Выкарыстанне найменнага дыяпазону для некалькіх крытэрыяў
Тут мы пералічылі некаторыя імёны студэнтаў у слупку Спіс і назвалі гэты дыяпазон як Студэнт . Выкарыстоўваючы гэты найменны дыяпазон, мы вызначым масіў, які будзе ўтрымліваць некалькі крытэраў для функцыі AutoFilter .
Крокі :
➤ Выканайце Крок-01 з Метад-1 .
➤ Напішыце наступны код
7871
Тут мы аб'явілі Student_range , k як Variant і выкарыстоўвалі функцыю TRANSPOSE для пераўтварэння 2D масіўу названага дыяпазону Student у 1D масіў, а затым захаваў яго ў Student_range . Затым ён выкарыстоўваецца як Крытэрый1 для метаду Аўтафільтр .
➤ Націсніце F5 .
Затым набор даных будзе адфільтраваны па некалькіх крытэрыях, каб паказаць імёны студэнтаў і іх адпаведныя ідэнтыфікатары і адзнакі для студэнтаў Джэферсан , Эмілі і Сара .
Звязаны змест: VBA для транспанавання масіва ў Excel (3 метады)
Метад-7: Табліца фільтра з некалькімі крытэрыямі ў масіве
Тут у нас ёсць наступная табліца з назвай Table1 і з выкарыстаннем Excel VBA мы паспрабуем адфільтраваць гэтую табліцу на аснове імёнаў Эмілі , Даніэль і Габрыэль як некалькі крытэраў у масіве.
Крокі :
➤ Выканайце Крок-01 з Метад-1 .
➤ Напішыце наступны код
6287
Тут, ListObjects(“Table1”) выкарыстоўваецца для вызначэння табліцы Table1 , Field:=2 для наладжвання другога слупка гэтага дыяпазону ў якасці асновы працэсу фільтрацыі, і, нарэшце, мы вызначылі масіў які змяшчае некалькі назваў для Крытэрый1 .
➤ Націсніце F5 .
У рэшце рэшт, вы атрымаеце набор даных адфільтраваны па некалькіх крытэрыях, каб паказаць імёны студэнтаў і іх адпаведныя ідэнтыфікатары і адзнакі для студэнтаў Эмілі , Даніэль і Габрыэль .
Дадатковая інфармацыя: Excel VBA: табліца фільтраў на аснове значэнняў ячэек (6 простых метадаў)
Практычны раздзел
Для практыкі па самі мы далі раздзел Практыка , як паказана ніжэй, на аркушы пад назвай Практыка . Калі ласка, зрабіце гэта самастойна.
Выснова
У гэтым артыкуле мы паспрабавалі ахапіць спосабы фільтрацыі па некалькіх крытэрыях у выглядзе масіва з дапамогай Excel VBA лёгка. Спадзяюся, вы знойдзеце гэта карысным. Калі ў вас ёсць якія-небудзь прапановы або пытанні, не саромейцеся падзяліцца імі ў раздзеле каментарыяў.