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

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

Калі вы шукаеце спосабы фільтраваць з масівам некалькіх крытэрыяў у 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 лёгка. Спадзяюся, вы знойдзеце гэта карысным. Калі ў вас ёсць якія-небудзь прапановы або пытанні, не саромейцеся падзяліцца імі ў раздзеле каментарыяў.

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