Isi kandungan
Jika anda mencari cara untuk menapis dengan tatasusunan kriteria berbilang dalam Excel VBA , maka anda berada di tempat yang betul. Menapis set data yang besar berdasarkan berbilang kriteria boleh dipermudahkan dengan bantuan VBA kod daripada menggunakan ciri konvensional Excel.
Jadi, mari kita mulakan artikel utama kami.
Muat Turun Buku Kerja
Tapis dengan Berbilang Kriteria.xlsm
7 Cara Menapis dengan Berbilang Kriteria dalam Tatasusunan Menggunakan Excel VBA
Dalam set data berikut, kami mempunyai beberapa rekod markah yang sepadan dengan nama pelajar dan id mereka. Kami akan cuba menapis set data ini berdasarkan kriteria berbeza sebagai tatasusunan dengan menggunakan beberapa kod.
Kami telah menggunakan versi Microsoft Excel 365 di sini, anda boleh menggunakan mana-mana versi lain mengikut keselesaan anda.
Kaedah-1: Tapis dengan Berbilang Kriteria sebagai Teks dalam Tatasusunan
Di sini, kami akan cuba menapis set data berikut berdasarkan Nama Pelajar lajur untuk berbilang kriteria yang mengandungi rentetan Emily , Daniel dan Gabriel dalam tatasusunan.
Langkah-01 :
➤ Pergi ke Pembangun Tab >> Visual Basic Pilihan.
Kemudian, Visual Basic Editor akan dibuka.
➤ Pergi ke Sisipkan Tab >> Modul Pilihan.
Selepas itu, sebuah Modul akan menjadidibuat.
Langkah-02 :
➤ Tulis kod berikut
4292
Di sini, kami mengisytiharkan nama pengepala dalam julat B3:D3 di mana kami akan menggunakan penapis dan Field:=2 ialah nombor lajur julat ini berdasarkan mana kami akan melakukan proses penapisan ini.
Akhir sekali, kami telah menetapkan kriteria sebagai tatasusunan untuk mengisytiharkan berbilang nama pelajar seperti Emily , Daniel , dan Gabriel .
➤ Tekan F5 .
Kemudian, anda set data akan ditapis ke bawah untuk berbilang kriteria untuk menunjukkan nama pelajar dan Id dan Markah yang sepadan untuk pelajar Emily , Daniel dan Gabriel .
Baca Lagi: Tapis Berbilang Kriteria dalam Excel (4 Cara Yang Sesuai)
Kaedah-2: Tapis dengan Kriteria Berbilang Nombor dalam Tatasusunan Menggunakan Excel VBA
Di sini, kami akan menapis ke bawah set data berikut untuk id 101135 , 10 1137 dan 101138 dengan menggunakan nombor ini sebagai berbilang kriteria dalam tatasusunan.
Langkah :
➤ Ikuti Langkah-01 daripada Kaedah-1 .
➤ Tulis kod berikut
5554
Di sini, kami mengisytiharkan nama pengepala dalam julat B3:D3 di mana kami akan menggunakan penapis dan Field:=2 adalah nombor lajur julat ini berdasarkan mana kami akan melakukan penapisan iniproses.
Akhir sekali, kami telah menetapkan kriteria sebagai tatasusunan untuk mengisytiharkan berbilang id pelajar seperti 101135 , 101137 dan 101138 dan kami telah meletakkannya di dalam koma terbalik untuk menentukannya sebagai rentetan kerana AutoFilter akan berfungsi untuk tatasusunan rentetan sahaja.
➤ Tekan F5 .
Selepas itu, anda akan mendapat nama dan markah pelajar yang mempunyai id 101135 , 101137 dan 101138 .
Baca Lagi: VBA untuk Mendapatkan Nilai Unik daripada Lajur ke Array dalam Excel (3 Kriteria)
Kaedah-3: Menetapkan Berbilang Kriteria dalam Julat untuk Penggunaan sebagai Array
Di sini, kami telah menyenaraikan kriteria dalam lajur Senarai yang mengandungi id 101134 , 101135 dan 101136 berdasarkan mana kami akan melakukan proses penapisan kami.
Langkah :
➤ Ikuti Langkah-01 daripada Kaedah-1 .
➤ Tulis kod berikut
3635
Di sini , kami ada decl adalah Julat_ID , k sebagai Varian dan julat_ID adalah tatasusunan yang akan menyimpan berbilang kriteria dan k adalah kenaikan antara had bawah hingga had atas tatasusunan ini. Untuk mempunyai had bawah dan had atas, kami menggunakan Fungsi LBOUND dan fungsi UBOUND masing-masing.
Gelung FOR digunakan untuk menukar nilai selain daripada rentetandalam tatasusunan menjadi rentetan dengan bantuan fungsi CStr . Akhir sekali, kami telah menggunakan tatasusunan ini sebagai Kriteria1 .
➤ Tekan F5 .
Selepas itu, anda akan mendapat nama dan markah pelajar yang mempunyai id 101134 , 101135 dan 101136 .
Baca Lagi: Tapis Lajur Berbeza mengikut Berbilang Kriteria dalam Excel VBA
Bacaan Serupa
- Cara Menapis Nilai Unik dalam Excel (8 Cara Mudah)
- Lakukan Penapis Tersuai dalam Excel (5 Cara)
- Kira Purata Tatasusunan dengan VBA (Makro, UDF dan Borang Pengguna)
- Pintasan untuk Penapis Excel (3 Penggunaan Pantas dengan Contoh)
Kaedah-4: Menggunakan Fungsi SPLIT dan JOIN untuk Mencipta Tatasusunan dengan Berbilang Kriteria
Di sini, kami akan menggunakan senarai berikut dalam Senarai lajur sebagai tatasusunan dan untuk menapis set data dengan betul kami juga akan menggunakan Fungsi SPLIT , Fungsi JOIN dan Fungsi TRANPOSE dalam Kod VBA .
Langkah :
➤ Fol rendah Langkah-01 daripada Kaedah-1 .
➤ Tulis kod berikut
1894
Di sini, TRANSPOSE akan menukar tatasusunan 2D ke dalam tatasusunan 1D jika tidak AutoFilter tidak akan berfungsi, SERTAI akan menggabungkan setiap nilai ke dalam tatasusunan rentetan, dan akhirnya, SPLIT akan memecahkan setiap rentetan untuk memberikan inputmereka secara berasingan sebagai kriteria untuk menapis set data.
➤ Tekan F5 .
Akhir sekali, anda akan mendapat nama dan tanda pelajar yang mempunyai id 101134 , 101135 dan 101136 .
Baca Lagi: Cara Memisahkan Rentetan kepada Tatasusunan dalam VBA (3 Cara)
Kaedah-5 : Tapis dengan Berbilang Kriteria dalam Gelung untuk Tatasusunan dengan VBA
Dalam bahagian ini, kami akan menapis ke bawah set data berikut bergantung pada lajur Id Pelajar untuk berbilang kriteria seperti yang disenaraikan dalam lajur Senarai .
Langkah :
➤ Ikuti Langkah- 01 daripada Kaedah-1 .
➤ Tulis kod berikut
2950
Di sini, kami telah mengisytiharkan k sebagai Integer , ID_range(100) sebagai String di mana ID_range adalah tatasusunan yang akan menyimpan sehingga 100 nilai. Untuk menentukan nilai bagi tatasusunan ini di sini kami telah menggunakan gelung FOR untuk k daripada 4 hingga 6 sebagai nombor baris bagi Senarai lajur dan F ialah nama lajur.
Akhir sekali, kami telah menggunakan tatasusunan ini sebagai Kriteria1 untuk AutoFilter .
➤ Tekan F5 .
Akhirnya, anda akan mendapat nama dan markah pelajar yang mempunyai id 101134 , 101135 dan 101136 .
Baca Lagi: Tapis Berbilang Kriteria dalam Excel dengan VBA (Kedua-dua DAN dan ATAUJenis)
Kaedah-6: Menggunakan Julat Dinamakan untuk Berbilang Kriteria
Di sini, kami telah menyenaraikan beberapa nama pelajar dalam lajur Senarai dan menamakan ini julat sebagai Pelajar . Menggunakan julat bernama ini, kami akan menentukan tatasusunan yang akan mengandungi berbilang kriteria untuk ciri AutoFilter .
Langkah :
➤ Ikuti Langkah-01 daripada Kaedah-1 .
➤ Tulis kod berikut
2428
Di sini, kami telah mengisytiharkan Julat_Pelajar , k sebagai Varian dan menggunakan fungsi TRANSPOSE untuk menukar tatasusunan 2D julat yang dinamakan Pelajar ke dalam tatasusunan 1D dan kemudian simpannya dalam Julat_Pelajar . Kemudian, ia digunakan sebagai Kriteria1 untuk kaedah AutoFilter .
➤ Tekan F5 .
Kemudian, anda akan menapis set data untuk berbilang kriteria untuk menunjukkan nama pelajar dan Id dan Markah <10 yang sepadan> untuk pelajar Jefferson , Emily dan Sara .
Kandungan Berkaitan: VBA ke Transpose Array dalam Excel (3 Kaedah)
Kaedah-7: Tapis Jadual dengan Berbilang Kriteria dalam Tatasusunan
Di sini, kami mempunyai Jadual berikut yang namanya Jadual1 dan menggunakan Excel VBA kami akan cuba menapis jadual ini berdasarkan nama Emily , Daniel dan Gabriel sebagai kriteria berbilang dalam tatasusunan.
Langkah :
➤ Ikuti Langkah-01 daripada Kaedah-1 .
➤ Tulis kod berikut
3017
Di sini, ListObjects(“Jadual1”) digunakan untuk mentakrifkan jadual Jadual1 , Field:=2 untuk menyediakan lajur kedua julat ini sebagai asas proses penapisan dan akhirnya kami telah menentukan tatasusunan mengandungi berbilang nama untuk Kriteria1 .
➤ Tekan F5 .
Akhirnya, anda akan mempunyai set data ditapis untuk berbilang kriteria untuk menunjukkan nama pelajar dan Id mereka yang sepadan dan Markah untuk pelajar Emily , Daniel dan Gabriel .
Baca Lagi: Excel VBA: Jadual Penapis Berdasarkan Nilai Sel (6 Kaedah Mudah)
Bahagian Amalan
Untuk melakukan latihan dengan sendiri, kami telah menyediakan bahagian Amalan seperti di bawah dalam helaian bernama Amalan . Sila lakukan sendiri.
Kesimpulan
Dalam artikel ini, kami cuba membincangkan cara untuk menapis dengan berbilang kriteria sebagai tatasusunan menggunakan Excel VBA dengan mudah. Harap anda akan mendapati ia berguna. Jika anda mempunyai sebarang cadangan atau soalan, sila kongsikannya di bahagian komen.