AutoFilter VBA - Bagaimana cara menggunakan Kriteria AutoFilter VBA untuk Menyaring Data? | Excel, VBA & Power BI 2024

Isi kandungan

AutoFilter Excel VBA

AutoFilter dalam VBA digunakan sebagai ungkapan dan sintaks untuknya seperti berikut Ekspresi. Autofilter (Field, Criteria 1, Operator, Criteria 2, Dropdown) semua argumen adalah pilihan. Penapis membantu dalam menyaring data tertentu dari data besar.

Andaikan anda pengguna biasa, maka penapis excel bukanlah perkara yang asing bagi anda. Beberapa alat yang kami gunakan dalam lembaran kerja juga disatukan ke dalam VBA, dan pilihan penapis automatik adalah salah satu alat penting yang terdapat di VBA. Seperti yang kita semua ketahui, penapis excel tersedia di bawah tab data.

Dengan menggunakan pilihan penapis ini, kita dapat bermain-main dengan data. Sekiranya anda berhadapan dengan jumlah data yang minimum dan jika anda fikir pilihan autofilter VBA tidak benar-benar diperlukan, anda boleh terus menggunakan pilihan penapis lembaran kerja.

Sekiranya anda berurusan dengan sejumlah besar data, maka anda boleh menggunakan pilihan Autofilter untuk mempermudah aliran proses.

Sintaks Fungsi AutoFilter

AutoFilter dalam Excel VBA dapat digunakan dengan objek jarak jauh. Seperti fungsi kami yang lain, ini juga mempunyai sintaksisnya sendiri.

  • Julat: Julat hanya dalam julat yang anda mahu gunakan penapis.
  • Bidang: Medan bermaksud dari lajur julat mana yang telah anda pilih yang anda mahu menyaring data. Lajur akan dikira dari kiri ke kanan.

Contohnya, jika julat anda dari A1 hingga D100 dan anda mahu menggunakan penapis untuk lajur D, maka nombor medan anda adalah 4 kerana, dalam julat yang dipilih, D adalah lajur keempat.

Kriteria 1: Di lapangan, anda telah memilih perkara yang ingin anda saring.

  • Operator: Sekiranya anda ingin menggunakan lebih daripada satu kriteria untuk menyaring data, maka kita perlu menggunakan simbol operator. Sebilangan kod pengendali adalah seperti di bawah.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Kriteria 2: Apakah perkara kedua yang ingin anda saring bersama dengan Kriteria 1?

  • Turunkan Terlihat: Adakah anda mahu memaparkan ikon penapis turun di lajur yang ditapis. Sekiranya anda ingin memaparkan BENAR adalah hujah, jika tidak SALAH, adalah hujah.

Bagaimana Memohon Filter menggunakan VBA AutoFilter? (dengan Contoh)

Andaikan di bawah data yang anda gunakan.

Sekarang dengan menggunakan kod VBA, kami akan menggunakan penapis. Ikuti langkah di bawah untuk menggunakan penapis.

Langkah 1: Mulakan subproses dengan memberikan nama kepada makro.

Kod:

Sub AutoFilter_Contoh1 () Akhir Sub

Langkah 2: Perkara pertama adalah dalam julat apa yang kita perlukan untuk menggunakan penapis. Dalam kes ini, kita perlu menerapkan julat dari julat A1 hingga E25.

Kod:

Sub AutoFilter_Contoh1 () Julat ("A1: E25") Sub Akhir

Langkah 3: Setelah julat dipilih, sekarang gunakan pilihan penapis automatik.

Kod:

Sub AutoFilter_Contoh1 () Julat ("A1: E25"). Sub Akhir AutoFilter

Kami tidak memilih nilai menggunakan autofilter. Sebaliknya, kami hanya menggunakan penapis pada masa ini.

Jalankan kod menggunakan kekunci F5, atau secara manual, ia akan memasukkan penapis untuk julat yang dipilih.

Oleh itu, ia telah menggunakan penapis pada data. Sekarang kita akan melihat cara menyaring data.

Contoh # 1 - Tapis Data dengan Menggunakan AutoFilter

Pertimbangkan data yang sama dari contoh di atas. Sekarang kita perlu menyaring jabatan "Kewangan" dari ruangan jabatan.

Langkah 1: Setelah saringan diterapkan, argumen pertama adalah menyebut dari lajur mana kita menyaring data. Dalam kes ini, kita perlu menyaring data dari lajur Jabatan, jadi nombor lajur jika 5.

Kod:

Sub AutoFilter_Contoh1 () Julat ("A1: E25"). Bidang AutoFilter: = 5, Sub Akhir

Langkah 2: Kriteria 1 tidak lain adalah apa yang ingin kami saring dari lajur ke- 5 . Oleh itu, kita perlu menyaring "Kewangan".

Kod:

Sub AutoFilter_Example1 () Julat ("A1: E25"). Bidang AutoFilter: = 5, Kriteria1: = "Kewangan" Sub Akhir

Jadi itu sahaja, jalankan kod ini secara manual, atau melalui kekunci F5, ia hanya akan menyaring "Kewangan" dari senarai.

Contoh # 2 - Operator dalam AutoFilter

Kami telah melihat cara menapis nilai tunggal. Sekarang kita akan melihat cara menapis pelbagai elemen. Anggaplah bersama dengan "Kewangan" anda juga ingin menyaring bahagian "Penjualan", jadi kami dapat melakukan ini dengan menggunakan Operator.

Langkah 1: Setelah menerapkan kriteria pertama dalam argumen berikutnya, pilih operator sebagai "xlOr."

Kod:

Sub AutoFilter_Example2 () Julat ("A1: E25"). Bidang AutoFilter: = 5, Kriteria1: = "Kewangan", Operator: = xl Atau Sub Akhir

Langkah 2: Sekarang, dalam Kriteria 2, sebutkan nilainya sebagai "Penjualan".

Kod:

Sub AutoFilter_Example2 () Julat ("A1: E25"). Bidang AutoFilter: = 5, Kriteria1: = "Kewangan", Operator: = xlOr, Kriteria2: = "Penjualan" Sub Akhir

Langkah 3: Baiklah, jalankan kod ini menggunakan kunci F5 atau secara manual, ia akan menyaring "Kewangan" dan "Penjualan."

Dalam argumen Operator, saya telah menggunakan "xlOr" ini akan memilih "Kewangan" & "Penjualan" di bawah saringan.

Contoh # 3 - Tapis Nombor menggunakan AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Contoh4 () Dengan Julat ("A1: E25"). Medan AutoFilter: = 5, Kriteria1: = "Kewangan". Bidang AutoFilter: = 2, Kriteria1: = "> 25000", Operator: = xlDan, Kriteria2: = " <40000 "Akhir Dengan Sub Akhir

Ini akan menapis dua lajur.

Jalankan kod ini menggunakan kekunci F5, atau anda boleh berjalan secara manual.

Perkara yang Perlu Diingat

  • Cubalah kombinasi yang berbeza di bawah Operator untuk mendapatkan pengetahuan mengenai Auto FilterVBA.
  • Sekiranya anda tidak pasti apa yang harus dimasukkan, cuba gunakan perakam makro.
  • Sekiranya anda ingin menyaring nilai teks, maka anda perlu memberikannya dalam petikan dua.
  • Gunakan pernyataan WITH untuk menerapkan lebih daripada satu penapis lajur.

Artikel menarik...