Excel VBA: Cara Memfilter dengan Beberapa Kriteria dalam Array (7 Cara)

  • Bagikan Ini
Hugh West

Jika Anda mencari cara untuk filter dengan beberapa kriteria array di Excel VBA Memfilter dataset yang besar berdasarkan beberapa kriteria dapat dibuat lebih mudah dengan bantuan VBA kode daripada menggunakan fitur konvensional Excel.

Jadi, mari kita mulai artikel utama kita.

Unduh Buku Kerja

Filter dengan Beberapa Kriteria.xlsm

7 Cara Memfilter dengan Beberapa Kriteria dalam Array Menggunakan Excel VBA

Dalam dataset berikut, kami memiliki beberapa catatan nilai yang sesuai dengan nama siswa dan id mereka. Kami akan mencoba memfilter dataset ini berdasarkan kriteria yang berbeda sebagai array dengan menggunakan beberapa kode.

Kami telah menggunakan Microsoft Excel 365 di sini, Anda dapat menggunakan versi lain sesuai dengan kenyamanan Anda.

Metode-1: Menyaring dengan Beberapa Kriteria sebagai Teks dalam Larik

Di sini, kita akan mencoba memfilter dataset berikut berdasarkan pada Nama Siswa kolom untuk beberapa kriteria yang berisi string Emily , Daniel dan Gabriel dalam sebuah larik.

Langkah-01 :

➤ Pergi ke Pengembang Tab>> Visual Basic Opsi.

Kemudian, itu Editor Visual Basic akan terbuka.

➤ Pergi ke Sisipkan Tab>> Modul Opsi.

Setelah itu, a Modul akan dibuat.

Langkah-02 :

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_1() ActiveSheet.Range("B3:D3").AutoFilter Field:=2, _ Operator:=xlFilterValues, Criteria1:=Array("Emily", "Daniel", "Gabriel") End Sub 

Di sini, kita mendeklarasikan nama header dalam kisaran B3:D3 di mana kita akan menerapkan filter dan Bidang:=2 adalah nomor kolom dari range ini berdasarkan yang akan kita lakukan proses penyaringan ini.

Akhirnya, kita telah menetapkan kriteria sebagai array untuk mendeklarasikan beberapa nama siswa seperti Emily , Daniel dan Gabriel .

➤ Tekan F5 .

Kemudian, Anda akan memiliki dataset yang disaring untuk beberapa kriteria untuk menunjukkan nama siswa dan nama mereka yang sesuai. Ids dan Tanda untuk para siswa Emily , Daniel dan Gabriel .

Baca selengkapnya: Filter Beberapa Kriteria di Excel (4 Cara yang Cocok)

Metode-2: Filter dengan Beberapa Kriteria Angka dalam Array Menggunakan Excel VBA

Di sini, kita akan memfilter dataset berikut untuk id 101135 , 101137 dan 101138 dengan menggunakan angka-angka ini sebagai beberapa kriteria dalam array.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_2() ActiveSheet.Range("B3:D3").AutoFilter Field:=1, Operator:=xlFilterValues, _ Criteria1:=Array("101135", "101137", "101138") End Sub 

Di sini, kita mendeklarasikan nama header dalam kisaran B3:D3 di mana kita akan menerapkan filter dan Bidang:=2 adalah nomor kolom dari range ini berdasarkan yang akan kita lakukan proses penyaringan ini.

Akhirnya, kita telah menetapkan kriteria sebagai array untuk mendeklarasikan beberapa id siswa seperti 101135 , 101137 dan 101138 dan kita telah meletakkannya di dalam koma terbalik untuk menentukannya sebagai string karena Filter Otomatis hanya akan bekerja untuk larik string.

➤ Tekan F5 .

Setelah itu, Anda akan mendapatkan nama dan nilai siswa yang memiliki id 101135 , 101137 dan 101138 .

Baca selengkapnya: VBA untuk Mendapatkan Nilai Unik dari Kolom ke Array di Excel (3 Kriteria)

Metode-3: Menetapkan Beberapa Kriteria dalam Rentang untuk Digunakan sebagai Array

Di sini, kami telah mencantumkan kriteria dalam Daftar kolom yang berisi id 101134 , 101135 dan 101136 berdasarkan mana kita akan melakukan proses penyaringan.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_3() Dim ID_range, k As Varian ID_range = Application.Transpose(ActiveSheet.Range("F4:F6")) For k = LBound(ID_range) To UBound(ID_range) ID_range(k) = CStr(ID_range(k)) Next k ActiveSheet.Range("B3:D3").AutoFilter Field:=1, Operator:=xlFilterValues, _ Criteria1:=ID_range End Sub 

Di sini, kita telah menyatakan ID_range , k sebagai Varian dan ID_range adalah larik yang akan menyimpan beberapa kriteria, dan k adalah kenaikan mulai dari batas bawah hingga batas atas dari array ini. Untuk memiliki batas bawah dan batas atas kami menggunakan Fungsi LBOUND dan Fungsi UBOUND masing-masing.

The Untuk loop digunakan untuk mengkonversi nilai selain string dalam larik menjadi string dengan bantuan Fungsi CStr Akhirnya, kami telah menggunakan larik ini sebagai Kriteria1 .

➤ Tekan F5 .

Setelah itu, Anda akan mendapatkan nama dan nilai siswa yang memiliki id 101134 , 101135 dan 101136 .

Baca selengkapnya: Filter Kolom Berbeda dengan Beberapa Kriteria di Excel VBA

Bacaan Serupa

  • Cara Memfilter Nilai Unik di Excel (8 Cara Mudah)
  • Lakukan Filter Kustom di Excel (5 Cara)
  • Menghitung Rata-rata Larik dengan VBA (Makro, UDF, dan UserForm)
  • Pintasan untuk Filter Excel (3 Penggunaan Cepat dengan Contoh)

Metode-4: Menggunakan Fungsi SPLIT dan JOIN untuk Membuat Array dengan Beberapa Kriteria

Di sini, kita akan menggunakan daftar berikut ini di dalam Daftar sebagai array dan untuk memfilter dataset dengan benar, kita juga akan menggunakan Fungsi SPLIT , Fungsi JOIN dan Fungsi TRANSPOSE dalam VBA kode.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_4() ActiveSheet.Range("B3:D3").AutoFilter Field:=1, Operator:=xlFilterValues, _ Kriteria1:=Split(Join(Application.Transpose(Range("F4:F6")), ","), ",") End Sub 

Di sini, TRANSPOSE akan mengonversi 2D array ke dalam sebuah 1D larik jika tidak Filter Otomatis tidak akan berfungsi, BERGABUNG akan menggabungkan setiap nilai ke dalam array string, dan akhirnya, SPLIT akan memecah setiap string untuk memberikan input secara terpisah sebagai kriteria untuk memfilter dataset.

➤ Tekan F5 .

Akhirnya, Anda akan mendapatkan nama dan nilai siswa yang memiliki id 101134 , 101135 dan 101136 .

Baca selengkapnya: Cara Memisahkan String menjadi Array dalam VBA (3 Cara)

Metode-5: Menyaring dengan Beberapa Kriteria dalam Loop untuk Array dengan VBA

Pada bagian ini, kita akan menyaring dataset berikut ini tergantung pada Id Siswa untuk beberapa kriteria seperti yang tercantum dalam Daftar kolom.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_5() Dim k As Integer Dim ID_range(100) As String For k = 4 To 6 ID_range(k) = ActiveSheet.Range("F" & k) Next k ActiveSheet.Range("B3:D3").AutoFilter Field:=1, Operator:=xlFilterValues, _ Criteria1:=ID_range End Sub 

Di sini, kita telah menyatakan k sebagai Bilangan bulat , ID_range(100) sebagai String di mana ID_range adalah array yang akan menyimpan hingga 100 Untuk menentukan nilai untuk larik ini di sini kita telah menggunakan Untuk loop untuk k dari 4 untuk 6 sebagai nomor baris dari Daftar kolom dan F adalah nama kolom.

Akhirnya, kita telah menggunakan larik ini sebagai Kriteria1 untuk Filter Otomatis .

➤ Tekan F5 .

Akhirnya, Anda akan mendapatkan nama dan nilai siswa yang memiliki id 101134 , 101135 dan 101136 .

Baca selengkapnya: Filter Beberapa Kriteria di Excel dengan VBA (Tipe AND dan OR)

Metode-6: Menggunakan Rentang Bernama untuk Beberapa Kriteria

Di sini, kami telah mencantumkan beberapa nama siswa dalam Daftar dan menamai rentang ini sebagai Siswa Dengan menggunakan rentang bernama ini, kita akan mendefinisikan larik yang akan berisi beberapa kriteria untuk Filter Otomatis fitur.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_6() Dim Student_range, k As Variant Student_range = Application.Transpose(ActiveSheet.Range("Student")) ActiveSheet.Range("B3:D3").AutoFilter Field:=2, _ Operator:=xlFilterValues, Criteria1:=Student_range End Sub 

Di sini, kita telah menyatakan Student_range , k sebagai Varian dan menggunakan Fungsi TRANSPOSE untuk mengonversi 2D larik dari rentang bernama Siswa menjadi 1D array dan kemudian menyimpannya di Student_range Kemudian, ini digunakan sebagai Kriteria1 untuk Filter Otomatis metode.

➤ Tekan F5 .

Kemudian, Anda akan memiliki dataset yang disaring untuk beberapa kriteria untuk menunjukkan nama siswa dan nama mereka yang sesuai. Ids dan Tanda untuk para siswa Jefferson , Emily dan Sara .

Konten Terkait: VBA untuk Mengubah Urutan Larik di Excel (3 Metode)

Metode-7: Menyaring Tabel dengan Beberapa Kriteria dalam Array

Di sini, kita memiliki yang berikut ini Tabel yang namanya Tabel1 dan menggunakan Excel VBA kita akan mencoba menyaring tabel ini berdasarkan nama-nama Emily , Daniel dan Gabriel sebagai beberapa kriteria dalam sebuah larik.

Langkah-langkah :

➤ Ikuti Langkah-01 dari Metode-1 .

Tulis kode berikut ini

 Sub filter_dengan_array_sebagai_kriteria_7() ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, _ Operator:=xlFilterValues, Criteria1:=Array("Emily", "Daniel", "Gabriel") End Sub 

Di sini, DaftarObjek ("Tabel1") digunakan untuk mendefinisikan tabel Tabel1 , Bidang:=2 untuk mengatur kolom kedua dari rentang ini sebagai dasar dari proses penyaringan dan akhirnya kita telah mendefinisikan array yang berisi beberapa nama untuk Kriteria1 .

➤ Tekan F5 .

Pada akhirnya, Anda akan memiliki dataset yang disaring untuk beberapa kriteria untuk menunjukkan nama siswa dan nama mereka yang sesuai. Ids dan Tanda untuk para siswa Emily , Daniel dan Gabriel .

Baca selengkapnya: Excel VBA: Filter Tabel Berdasarkan Nilai Sel (6 Metode Mudah)

Bagian Latihan

Untuk melakukan latihan sendiri, kami telah menyediakan Praktek seperti di bawah ini dalam lembar bernama Praktek . Silakan lakukan sendiri.

Kesimpulan

Pada artikel ini, kami mencoba membahas cara-cara untuk memfilter dengan beberapa kriteria sebagai array menggunakan Excel VBA Semoga bermanfaat bagi Anda. Jika Anda memiliki saran atau pertanyaan, jangan ragu untuk membagikannya di bagian komentar.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.