Excel VBA: Массив дахь олон шалгуураар хэрхэн шүүх вэ (7 арга)

  • Үүнийг Хуваалц
Hugh West

Хэрэв та Excel VBA дээр олон шалгуурын массиваар шүүлт хийх арга хайж байгаа бол та зөв газартаа байна. Олон шалгуурт тулгуурлан том өгөгдлийн багцыг шүүх нь Excel-ийн ердийн функцийг ашиглахаас илүүтэй VBA кодын тусламжтайгаар хялбаршуулж болно.

Тиймээс үндсэн нийтлэлээ эхлүүлье.

Дасгалын номыг татаж авах

Олон шалгуураар шүүх.xlsm

Excel VBA ашиглан массив дахь олон шалгуураар шүүх 7 арга

Дараах өгөгдлийн багцад бид оюутнуудын нэр болон тэдний ID-д тохирсон зарим тэмдэглэгээтэй байна. Бид энэ өгөгдлийн багцыг янз бүрийн шалгуурт үндэслэн зарим код ашиглан массив болгон шүүхийг хичээх болно.

Бид энд Microsoft Excel 365 хувилбарыг ашигласан. өөр ямар ч хувилбарыг ашиглах боломжтой.

Арга-1: Олон шалгуураар массив дахь текст хэлбэрээр шүүх

Энд бид -д үндэслэн дараах өгөгдлийн багцыг шүүхийг оролдох болно. Оюутны нэр Эмили , Даниел , Габриэл <10 гэсэн мөрүүдийг агуулсан олон шалгуурын багана> массив дотор.

Алхам-01 :

Хөгжүүлэгч руу очно уу Таб >> Visual Basic Сонголт.

Дараа нь Visual Basic Editor нээгдэнэ.

Insert Tab >> Модуль Сонголт руу очно уу.

Үүний дараа Модуль байх болноүүсгэсэн.

Алхам-02 :

➤ Дараах кодыг бичнэ үү

1643

Энд бид дараахыг зарлалаа. Бид шүүлтүүр хэрэглэх B3:D3 муж дахь толгойн нэрс ба Талбар:=2 нь энэ мужын баганын дугаар бөгөөд үүний үндсэн дээр бид шүүх процессыг хийх болно.

Эцэст нь бид Эмили , Даниел гэх мэт олон оюутны нэрийг зарлах массив болгон шалгуурыг тавьсан. , мөн Габриел .

F5 товчийг дарна уу.

Дараа нь та өгөгдлийн багцыг олон шалгуурын дагуу шүүж, оюутнуудын нэр, тэдгээрийн харгалзах Id болон Тэмдэглэгээ хэрэглэнэ. 1> Эмили , Даниел , Габриэл .

Дэлгэрэнгүй унших: Excel дээр олон шалгуурыг шүүх (4 тохиромжтой арга)

Арга-2: Массив дахь олон тооны шалгуурыг ашиглан шүүх Excel VBA

Энд бид дараах өгөгдлийн багцыг 101135 , 10 id-д зориулж шүүнэ. 1137 ба 101138 эдгээр тоонуудыг массив дахь олон шалгуур болгон ашиглана.

Алхам :

Арга-1 -ийн Алхам-01 -ыг дагаж мөрдөөрэй.

➤ Дараах кодыг бичнэ үү

2461

Энд бид шүүлтүүр хэрэглэх B3:D3 муж дахь толгойн нэрийг зарласан бөгөөд Талбар:=2 нь энэ мужын баганын дугаар бөгөөд үүнд үндэслэсэн болно. Энэ шүүлтүүрийг хийх болнопроцесс.

Эцэст нь бид 101135 , 101137 гэх мэт олон оюутны ID-г зарлах массив болгон шалгуурыг тавьсан. , 101138 болон Автомат шүүлтүүр нь зөвхөн мөрийн массивын хувьд ажиллах тул бид тэдгээрийг мөр болгон зааж өгөхийн тулд урвуу таслал дотор байрлуулсан.

F5 товчийг дарна уу.

Үүний дараа та ID-тай оюутнуудын нэрс болон оноог авах болно. 101135 , 101137 , 101138 .

Дэлгэрэнгүй: Excel-ийн баганаас массив руу өвөрмөц утгыг авах VBA (3 шалгуур)

Арга-3: Ашиглах мужид олон шалгуур тавих. гэж массив

Энд бид Жагсаалтын багананд 101134 , 101135 , 101136 үүний үндсэн дээр бид шүүлтийн процессоо хийнэ.

Алхам :

Арга-1 -ийн Алхам-01 -ыг дагаж мөрдөөрэй.

➤ Дараах кодыг бичнэ үү

5456

Энд , бид татгалзсан байна ID_муж , k нь Хувилбар болон ID_муж нь олон шалгуурыг хадгалах массив бөгөөд k Энэ массивын доод хязгаараас дээд хязгаар хүртэлх өсөлт. Доод болон дээд хязгаартай байхын тулд бид LBOUND функц ба UBOUND функц -ийг тус тус ашигласан.

FOR гогцоо -г хөрвүүлэхэд ашигладаг. мөрүүдээс бусад утгуудмассив дотор CStr функц -ын тусламжтайгаар мөр болгон хувиргана. Эцэст нь бид энэ массивыг Шалгуур1 болгон ашигласан.

F5 товчийг дарна уу.

Дараа нь та 101134 , 101135 , 101136 ID-тай оюутнуудын нэрс, тэмдгийг авна. .

Дэлгэрэнгүй унших: Excel VBA дээр олон шалгуураар өөр баганыг шүүх

Ижил төстэй уншилтууд

  • Excel дээр өвөрмөц утгуудыг хэрхэн шүүх вэ (8 хялбар арга)
  • Excel дээр тусгай шүүлтүүр хийх (5) Арга)
  • VBA (Макро, UDF болон UserForm) ашиглан массивын дундажийг тооцоолох
  • Excel шүүлтүүрийн товчлол (3 хурдан хэрэглээ) Жишээнүүдийн хамт)

Арга-4: Олон шалгуур бүхий массив үүсгэхийн тулд SPLIT болон JOIN функцуудыг ашиглах

Энд бид Жагсаалтад дараах жагсаалтыг ашиглана. баганыг массив болгон, өгөгдлийн багцыг зөв шүүхийн тулд бид SPLIT функц , JOIN функц , TRANSPOSE функц -ийг мөн ашиглана. VBA код.

Алхам :

➤ Fol бага Арга-1 -ийн Алхам-01 .

➤ Дараах кодыг бичнэ үү

1191

Энд TRANSPOSE хөрвүүлнэ 2D массивийг 1D массив болгох эс бөгөөс Автомат шүүлтүүр ажиллахгүй, JOIN утга бүрийг мөрийн массив болгон нэгтгэнэ, эцэст нь SPLIT тэмдэгт мөр бүрийг задалж оролт өгөх болноөгөгдлийн багцыг шүүх шалгуур болгон тусад нь.

F5 товчийг дарна уу.

Эцэст нь та нэр, тэмдгийг авах болно. 101134 , 101135 , 101136 ID-тай оюутнууд.

Дэлгэрэнгүй: VBA (3 арга) дээр мөрийг массив болгон хэрхэн хуваах вэ

Арга-5 : VBA-тай массивын давталт дахь олон шалгуураар шүүх

Энэ хэсэгт бид дараах өгөгдлийн багцыг Оюутны ID баганаас хамаарч шүүнэ. Жагсаалтын багананд жагсаасан шалгуур.

Алхам :

Алхам- 01 -ын Арга-1 .

➤ Дараах кодыг бичнэ үү

4808

Энд бид k Бүтэн тоо гэж зарлалаа. , ID_муж(100) гэж Мөр энд ID_муж нь 100 утга хадгалах массив юм. Энэ массивын утгыг тодорхойлохын тулд бид эндээс FOR гогцоо for k 4 -ээс 6 хүртэлх мөрийн дугаар болгон ашигласан. Жагсаалт багана, F нь баганын нэр.

Эцэст нь бид энэ массивыг Автомат шүүлтүүр -ийн Шалгуур1 болгон ашигласан. .

F5 товчийг дарна уу.

Эцэст нь id <-тэй оюутнуудын нэрс болон оноог авах болно. 9>101134 , 101135 ба 101136 .

Дэлгэрэнгүй унших: Excel дэх олон шалгуурыг VBA-р шүүнэ (БА болон ЭСВЭЛ аль аль нь)Төрөл)

Арга-6: Олон шалгуурт нэрлэгдсэн мужийг ашиглах

Энд бид Жагсаалт баганад зарим оюутнуудын нэрийг жагсааж, үүнийг нэрлэсэн. Оюутан гэж хэлбэлзэнэ. Энэ нэрлэсэн мужийг ашиглан бид Автомат шүүлтүүр боломжийн олон шалгуурыг агуулсан массивыг тодорхойлох болно.

Алхам :

Арга-1 -ийн Алхам-01 -ыг дагаж мөрдөөрэй.

➤ Дараах кодыг бичнэ үү

4277

Энд бид <гэж зарлалаа. 1>Оюутны_муж , k Хувилбар болгон, TRANSPOSE функцийг ашиглан нэрлэсэн мужын 2D массивыг хөрвүүлсэн. Оюутан 1D массив болгож, дараа нь Оюутны_муж -д хадгалсан. Дараа нь үүнийг Автомат шүүлтүүр аргын Шалгуур1 болгон ашигладаг.

F5 товчийг дарна уу.

Дараа нь та оюутнуудын нэр, тэдгээрийн харгалзах Id болон Тэмдэглэгээ <10-ыг харуулахын тулд олон шалгуурын дагуу өгөгдлийн багцыг шүүнэ> сурагчдад Жефферсон , Эмили , Сара .

Холбогдох контент: Excel дээр массив шилжүүлэх VBA (3 арга)

Арга-7: Массив доторх олон шалгуур бүхий хүснэгтийг шүүх

Энд бид дараах Хүснэгт -г авч байна, нэр нь Хүснэгт1 болон Excel VBA ашиглаж байна. бид Эмили , Даниел болон нэрс дээр үндэслэн энэ хүснэгтийг шүүж үзэх болно. Габриэл массив дахь олон шалгуураар.

Алхам :

Арга-1 -ийн Алхам-01 -ыг дагана уу.

➤ Дараах кодыг бичнэ үү

4730

Энд ListObjects("Хүснэгт1") нь хүснэгтийг тодорхойлоход ашиглагдана Хүснэгт1 , Талбар:=2 энэ мужын хоёр дахь баганыг шүүх процессын суурь болгон тохируулахад ашигладаг бөгөөд эцэст нь бид массивыг тодорхойлсон. Шалгуур1 -ийн олон нэрийг агуулсан.

F5 товчийг дарна уу.

Эцэст нь та өгөгдлийн багцтай болно. Олон шалгуураар шүүж, оюутнуудын нэр, тэдгээрийн харгалзах Id болон Тэмдэглэл -ийг харуулахын тулд шүүсэн>Эмили , Даниел ба Габриэль .

Дэлгэрэнгүй унших: Excel VBA: Хүснэгтийг эсийн утгад үндэслэн шүүх (6 хялбар арга)

Дадлага хийх хэсэг

Дасгал хийх Өөрийгөө бид Дасгал нэртэй хуудсанд доорх шиг Дадлага хэсгийг өгсөн. Үүнийг өөрөө хийнэ үү.

Дүгнэлт

Энэ нийтлэлд бид Excel програмыг ашиглан массив хэлбэрээр олон шалгуураар шүүх аргуудыг авч үзэхийг оролдсон VBA амархан. Энэ нь танд хэрэг болно гэж найдаж байна. Хэрэв танд ямар нэгэн санал, асуулт байвал коммент хэсэгт хуваалцаарай.

Хью Уэст бол салбартаа 10 гаруй жил ажилласан туршлагатай Excel-ийн сургагч багш, шинжээч юм. Нягтлан бодох бүртгэл, санхүүгийн чиглэлээр бакалавр, бизнесийн удирдлагын магистр зэрэгтэй. Хью багшлах сонирхолтой бөгөөд дагаж мөрдөх, ойлгоход хялбар заах өвөрмөц арга барилыг боловсруулсан. Түүний Excel-ийн мэдлэг чадвар нь дэлхий даяарх олон мянган оюутан, мэргэжилтнүүдэд ур чадвараа дээшлүүлж, ажил мэргэжлээрээ амжилт гаргахад тусалсан. Хью өөрийн блогоороо дамжуулан өөрийн мэдлэгээ дэлхийтэй хуваалцаж, Excel програмын үнэгүй зааварчилгаа, онлайн сургалтыг хувь хүмүүс болон бизнесүүдэд бүрэн дүүрэн ашиглахад нь туслах зорилгоор санал болгодог.