Daftar Isi
Excel Urutkan &; Perintah filter memiliki jangkauan terbatas untuk Menyaring data Tapi menggunakan VBA Anda bisa Menyaring data Artikel ini akan memberi Anda 8 contoh yang berguna untuk digunakan VBA kode untuk Menyaring data di excel menggunakan VBA kode dengan ilustrasi yang jelas.
Unduh Buku Kerja Praktik
Anda bisa mengunduh templat Excel gratis dari sini dan berlatih sendiri.
Kode VBA untuk Menyaring Data.xlsm8 Contoh Penggunaan Kode VBA untuk Memfilter Data di Excel
Mari kita perkenalkan dataset kita terlebih dahulu yang mewakili beberapa Jenis Kelamin, Status, dan Usia siswa .
1. Gunakan Kode VBA untuk Memfilter Data Berdasarkan Kriteria Teks di Excel
Dalam contoh pertama kita, kita akan menggunakan VBA untuk Filter hanya Laki-laki siswa dari Jenis kelamin kolom dataset.
Langkah-langkah:
- Klik kanan pada judul lembar .
- Kemudian pilih Lihat Kode dari Menu konteks .
Segera setelah itu, sebuah VBA jendela akan terbuka.
- Jenis berikut ini kode di dalamnya-
Sub Filter_Data_Teks() Lembar Kerja("Kriteria Teks").Range("B4").AutoFilter Field:=2, Kriteria1:="Pria" End Sub
- Kemudian, meminimalkan VBA
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_Data_Teks() .
- Kemudian menggunakan Rentang untuk menyatakan masing-masing nama lembar dan rentang
- Selanjutnya, saya menggunakan metode AutoFilter untuk digunakan Kriteria pilihan saya di mana Bidang:=2 berarti kolom 2 . dan Kriteria1:= "Laki-laki" untuk Filter data untuk Laki-laki.
- Setelah itu, untuk terbuka yang Kotak dialog Macro , klik sebagai berikut: Pengembang> Makro.
- Pilih yang Nama makro seperti yang disebutkan dalam kode .
- Akhirnya, hanya tekan Jalankan .
Sekarang lihatlah bahwa kita hanya punya Data siswa laki-laki setelah Penyaringan .
Baca selengkapnya: Excel Filter Data Berdasarkan Nilai Sel (6 Cara Efisien)
2. Terapkan Kode VBA untuk Menyaring Data dengan Beberapa Kriteria dalam Satu Kolom
Di sini, kita akan Filter untuk beberapa kriteria dalam satu kolom. Dari kolom nomor tiga dataset, kita akan Filter untuk Lulusan dan Pascasarjana siswa.
Langkah-langkah:
- Ikuti dua langkah pertama dari contoh pertama untuk membuka Jendela VBA .
- Kemudian, jenis berikut ini kode di dalamnya-
Sub Filter_One_Column() Lembar Kerja("Satu Kolom").Range("B4").AutoFilter Field:=3, Kriteria1:="Lulusan", Operator:=xlOr, Kriteria2:="Pascasarjana" End Sub
- Kemudian meminimalkan VBA
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_Satu_Kolom() .
- Kemudian menggunakan Rentang properti untuk menyatakan masing-masing nama lembar dan rentang
- Selanjutnya, saya menggunakan metode AutoFilter untuk menggunakan Kriteria pilihan saya di mana Bidang:=3 berarti kolom 3 . di sini, Kriteria1:="Lulusan" dan Kriteria2:="Pascasarjana" untuk Filter siswa Status .
- Akhirnya, saya menggunakan Operator:=xlAtau untuk diterapkan ATAU kondisi Filter untuk beberapa kriteria.
- Pada saat ini, ikuti yang langkah ketiga dari contoh pertama untuk membuka Dialog Makro kotak .
- Kemudian, pilih yang ditentukan Nama makro dan tekan Jalankan .
Segera setelah itu, Anda akan mendapatkan baris yang difilter berdasarkan beberapa kriteria seperti gambar di bawah ini.
Baca selengkapnya: Filter Beberapa Kriteria di Excel (4 Cara yang Cocok)
3. Terapkan Kode VBA untuk Memfilter Data dengan Beberapa Kriteria di Kolom Berbeda di Excel
Sekarang kita akan Filter untuk beberapa kriteria- Laki-laki dan Lulusan siswa.
Langkah-langkah:
- Ikuti dua langkah pertama dari contoh pertama untuk membuka VBA
- Kemudian, menulis berikut ini kode di dalamnya-
Sub Filter_Berbeda_Kolom() With Lembar Kerja("Kolom Berbeda").Range("B4") .AutoFilter Field:=2, Kriteria1:="Pria" .AutoFilter Field:=3, Kriteria1:="Lulusan" End With End Sub
- Setelah itu meminimalkan jendela VBA .
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_Beda_Kolom() .
- Kemudian, saya menggunakan Dengan pernyataan untuk digunakan Beberapa Kolom .
- Kemudian menggunakan Rentang untuk menyatakan masing-masing nama lembar dan rentang
- Selanjutnya, saya menggunakan metode AutoFilter untuk digunakan Kriteria pilihan saya di mana Bidang:=2 berarti kolom 2 dan Bidang:=3 berarti kolom 3 .
- Di sini, dipilih Kriteria1:= "Laki-laki" untuk Jenis kelamin kolom dan Kriteria1:= "Lulusan" untuk Status kolom ke Filter data dari kolom yang berbeda .
- Kemudian ikuti langkah ketiga dari contoh pertama untuk membuka Kotak dialog Macro .
- Kemudian, pilih yang ditentukan Nama makro dan tekan Jalankan .
Inilah output dari beberapa kriteria.
Baca selengkapnya: Excel VBA untuk Memfilter di Kolom yang Sama dengan Beberapa Kriteria (6 Contoh)
4. Gunakan Kode VBA untuk Memfilter 3 Item Teratas di Excel
Dalam contoh ini, kita akan Menyaring tiga siswa teratas menurut mereka usia .
Langkah-langkah:
- Ikuti dua langkah pertama dari contoh pertama untuk membuka Jendela VBA .
- Kemudian jenis berikut ini kode di dalamnya-
Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="3", Operator:=xlTop10Items End Sub
- Setelah itu meminimalkan Jendela VBA .
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_Top3_Items() .
- Dan kemudian digunakan Operator:=xlTop10Items untuk Filter untuk tiga besar data .
- Sekarang ikuti langkah ketiga dari contoh pertama untuk membuka Dialog Makro kotak .
- Kemudian pilih nama Makro seperti yang disebutkan dalam kode dan tekan Jalankan .
Kemudian Anda akan mendapatkan output seperti gambar di bawah ini-
Baca selengkapnya: Cara Memfilter Berdasarkan Nilai Sel Menggunakan Excel VBA (4 Metode)
Bacaan Serupa
- Cara Menyalin dan Menempel Saat Filter Diterapkan di Excel
- Cara Memfilter Nilai Unik di Excel (8 Cara Mudah)
- Filter Beberapa Kriteria di Excel dengan VBA (Tipe AND dan OR)
- Cara Menggunakan Filter Teks di Excel (5 Contoh)
- Cara Memfilter berdasarkan Tanggal di Excel (4 Metode Cepat)
5. Gunakan Kode VBA untuk Memfilter 50 Persen Teratas di Excel
Mari kita gunakan VBA kode untuk Menyaring lima puluh persen teratas siswa berdasarkan usia mereka .
Langkah-langkah:
- Pertama, Ikuti dua langkah pertama dari contoh pertama untuk membuka Jendela VBA .
- Kemudian, jenis berikut ini kode di dalamnya-
Sub Filter_Top50_Percent() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="50", Operator:=xlTop10Percent End Sub
- Meminimalkan Jendela VBA .
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_Top50_Persen() .
- Kemudian, digunakan Operator:=xlTop10Persen untuk Saring lima puluh persen teratas dari kolom-4 .
- Pada saat ini, ikuti langkah ketiga dari contoh pertama untuk membuka Kotak dialog Macro.
- Kemudian pilih yang ditentukan Nama makro dan tekan Jalankan .
Ada total 7 siswa jadi untuk 50 persen , ini menunjukkan kira-kira tiga siswa .
Baca selengkapnya: Cara Menggunakan Rumus Persentase Keuntungan di Excel (3 Contoh)
6. Terapkan Kode VBA untuk Menyaring Data Menggunakan Wildcard
Kita bisa menggunakan Karakter wildcard-* (tanda bintang) di Kode VBA untuk memfilter data di Excel. Dari menu Kolom status , kita hanya akan memfilter nilai yang mengandung 'Post' .
Langkah-langkah:
- Ikuti dua langkah pertama dari contoh pertama untuk membuka Jendela VBA .
- Kemudian menulis berikut ini kode di dalamnya-
Sub Filter_with_Wildcard() ActiveSheet.Range("B4").AutoFilter Field:=3, Criteria1:="*Post*" End Sub
- Kemudian, meminimalkan Jendela VBA .
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Filter_dengan_Wildcard() .
- Kemudian digunakan Rentang ("B4") untuk menetapkan kisaran.
- Berikutnya , digunakan Filter Otomatis untuk Filter di Bidang:=3 berarti kolom 3.
- Kriteria1:="*Pos*" untuk Filter nilai yang mengandung 'Post'.
- Sekarang ikuti langkah ketiga dari contoh pertama untuk membuka Kotak dialog Macro.
- Pilih yang ditentukan Nama makro dan tekan Jalankan .
Kemudian Anda akan mendapatkan output yang diinginkan.
Baca selengkapnya: Cara Menambahkan Filter di Excel (4 Metode)
7. Sematkan VBA Excel untuk Menyalin Data yang Difilter di Lembar Baru di Excel
Lihat bahwa ada beberapa data yang difilter dalam dataset saya. Sekarang saya akan menyalinnya ke dalam sheet baru menggunakan VBA . Kode-kode ini tidak akan berfungsi dengan baik dalam sheet, Anda harus menerapkannya dalam modul.
Langkah-langkah:
- Tekan Alt+F11 untuk membuka VBA
- Kemudian klik Masukkan> Modul untuk membuka modul .
- Sekarang menulis berikut ini kode -
Sub Copy_Filtered_Data_NewSheet() Dim xRng As Range Dim xWS As Worksheet If Worksheets("Copy Data yang Difilter").AutoFilterMode = False Then MsgBox "Noo filtered data" Exit Sub End If Set xRng = Worksheets("Copy Data yang Difilter").AutoFilter.Range Set xWS = Worksheets.Add xRng.Copy Range("G4") End Sub
- Kemudian meminimalkan VBA
Perincian Kode
- Di sini, saya menciptakan Sub prosedur, Copy_Filtered_Data_NewSheet() .
- Setelah itu dinyatakan dua variabel- x Rng Sebagai Rentang dan xWS Sebagai Lembar Kerja.
- Kemudian digunakan an Pernyataan IF untuk memeriksa Disaring
- Kemudian, digunakan MsgBox untuk menampilkan output.
- Kemudian digunakan Lembar Kerja ("Salin Data yang Difilter").AutoFilter.Range untuk memilih Disaring jangkauan dan digunakan Tambahkan untuk menambahkan lembar baru.
- Akhirnya, Salin Rentang ("G4") akan menyalin Disaring data ke lembar baru .
- Kemudian, ikuti langkah ketiga dari contoh pertama untuk membuka Kotak dialog Macro .
- Kemudian pilih yang ditentukan Nama makro dan tekan Jalankan .
Sekarang lihat bahwa Excel telah membuka lembar baru dan menyalin baris yang difilter.
Baca selengkapnya: Pintasan untuk Filter Excel (3 Penggunaan Cepat dengan Contoh)
8. Terapkan Kode VBA untuk Menyaring Data Menggunakan Daftar Drop Down
Dalam contoh terakhir kita, kita akan membuat daftar drop-down untuk jenis kelamin terlebih dahulu kemudian kita akan menggunakannya untuk Menyaring data. Untuk itu, saya telah menempatkan kriteria jenis kelamin di lokasi lain dan kita akan membuat daftar drop-down di Sel D14 .
Langkah-langkah:
- Pilih Sel D14 .
- Kemudian klik sebagai berikut: Data> Peralatan Data> Validasi Data> Validasi Data.
Segera setelah itu, sebuah kotak dialog akan terbuka.
Pilih Daftar dari Izinkan drop-down .
Kemudian klik pada ikon Buka dari Kotak sumber .
Sekarang pilih rentang kriteria dan tekan tombol Enter .
- Pada saat ini, hanya tekan OK .
Sekarang kami drop-down daftar sudah siap.
- Sekarang Ikuti dua langkah pertama dari contoh pertama untuk membuka Jendela VBA .
- Kemudian menulis berikut ini kode di dalamnya-
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$14" Then If Range("D14") = "All" Then Range("B4").AutoFilter Else Range("B4").AutoFilter Field:=2, Criteria1:=Range("D14") End If End If End Sub
- Kemudian meminimalkan jendela VBA .
Perincian Kode
- Di sini, saya menciptakan Sub Pribadi prosedur, Worksheet_Change(ByVal Target As Range).
- Kemudian, saya memilih Lembar Kerja dari Umum dan Perubahan dari Deklarasi .
- Kemudian atur Alamat untuk mengetahui lokasinya.
- Akhirnya di dalam JIKA pernyataan menggunakan Filter Otomatis metode dengan Lapangan dan Kriteria
- Sekarang saja pilih kriteria dari daftar drop-down dan Filter akan diaktifkan .
Ini dia Disaring keluaran setelah memilih Laki-laki dari drop-down .
Baca selengkapnya: Cara Memfilter menurut Daftar di Lembar Lain di Excel (2 Metode)
Bagian Latihan
Anda akan mendapatkan lembar latihan dalam file Excel yang diberikan di atas untuk mempraktikkan cara-cara yang telah dijelaskan.
Kesimpulan
Saya harap prosedur yang dijelaskan di atas akan cukup baik untuk digunakan VBA kode untuk Filter Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar dan tolong beri saya umpan balik.