Bagaimana Memohon & Menghapus Penapis dari Data menggunakan VBA?

Isi kandungan

Penapis VBA Excel

Alat Penapis VBA digunakan untuk menyortir atau mengambil data tertentu yang diinginkan, fungsi Autofilter digunakan sebagai fungsi lembaran kerja, namun fungsi ini mempunyai argumen lain dengannya yang bersifat opsional dan satu-satunya argumen wajib adalah ungkapan yang merangkumi rentang misalnya lembaran kerja ("Sheet1"). Julat ("A1"). Autofilter akan menggunakan penapis pada lajur pertama.

Tapis dalam VBA berfungsi dengan cara yang sama seperti di lembaran kerja. Satu-satunya perkara yang berbeza adalah kita dapat mengotomatisasi tugas rutin menyaring data melalui pengekodan.

AutoFilter adalah fungsi yang merangkumi banyak nilai sintaks. Berikut adalah parameter yang terlibat dalam fungsi AutoFilter.

  • Jangkauan adalah perkara pertama yang perlu kita berikan untuk menggunakan pilihan "AutoFilter". Ini hanya untuk sel mana yang perlu kita gunakan penapis, misalnya, Range (“A1: D50”).
  • Medan adalah argumen pertama dalam fungsi. Setelah julat sel dipilih melalui objek VBA RANGE, kita perlu menyebut lajur julat mana yang ingin kita gunakan penapisnya.
  • Kriteria 1 hanyalah Medan yang dipilih , nilai apa yang ingin anda saring.
  • Operator digunakan sekiranya anda mahu menggunakan argumen Kriteria 2 . Dalam pilihan ini, kita boleh menggunakan pilihan di bawah.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Dropdown yang Terlihat adalah sama ada untuk memaparkan simbol penapis di lajur penapis yang digunakan atau tidak. Sekiranya anda ingin memaparkan, maka anda boleh memberikan argumen sebagai BENAR atau yang lain SALAH.

Contohnya untuk Menapis Data menggunakan VBA

Contoh # 1 - Terapkan atau Buang Penapis ke Data

Sekiranya anda ingin menerapkan pilihan penapis pada data, maka kami dapat mematikan dan mengaktifkan pilihan ini. Contohnya, lihat gambar data di bawah.

Langkah 1: Julat bekalan data

Untuk mengaktifkan pilihan penapis terlebih dahulu, kita perlu memberikan berapa julat data kita. Pada gambar di atas, data kami tersebar dari A1 hingga G31, jadi berikan julat ini dengan menggunakan objek RANGE.

Kod:

Sub Filter_Contoh () Julat ("A1: G31") Sub Akhir
Langkah 2: Kemudian akses fungsi AutoFilter

Sekarang akses fungsi AutoFilter untuk julat ini.

Kod:

Sub Penapis_Contoh () Julat ("A1: G31"). Sub Akhir AutoFilter
Langkah 3: Jalankan kod untuk mengaktifkan penapis

Itu sahaja. Jalankan kod ini untuk mengaktifkan penapis automatik.

Kod ini berfungsi sebagai togol, dan jika penapis tidak digunakan, maka ia akan berlaku. Sekiranya sudah digunakan, maka ia akan dikeluarkan.

Contoh # 2 - Tapis Nilai Tertentu

Sekarang kita akan melihat bagaimana menggunakan parameter pilihan AutoFilter. Ambil data yang sama seperti di atas. Sebagai contoh, sekarang kita perlu menyaring semua nama jantina "Lelaki".

Langkah 1: Pilih Julat dan Buka Fungsi Autofilter
Langkah 2: Kemudian Pilih Medan

Dalam argumen pertama fungsi iaitu, Field, kita perlu menyebut rujukan lajur yang ingin kita saring. Dalam contoh ini, kita hanya perlu menyaring calon "Lelaki", iaitu lajur "C", jadi nombor lajur adalah 3.

Langkah 3: Sekarang Sebutkan Kriteria

Sekarang untuk Medan yang dibekalkan ini, kita perlu menyebutkan Kriteria 1 iaitu, nilai apa yang perlu kita saring di Medan yang disebutkan . Kita perlu menyaring "Lelaki" dari lajur ini.

Kod:

Sub Filter_Contoh () Julat ("A1: G31"). Bidang AutoFilter: = 3, Kriteria1: = "Lelaki" Sub Akhir
Langkah 4: Dan jalankan kodnya

Ok, itu sahaja. Kod ini hanya akan menapis calon "Lelaki" sekarang.

Contoh # 3 - Penggunaan Argumen OPERATOR

When you want to filter out more than one value from the column, we need to use the “Operator” argument. For example, from the column “Major,” we need to filter only “Math & Politics,” then we need to use this argument.

Step 1: Select Range and Autofilter Field

First, supply the Range of cells and fields.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, End Sub
Step 2: Enter Criteria 1 as Math

For the mentioned filed, we need to supply Criteria 1 as “Math.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", End Sub
Step 3: Use Operator xl

Since we need to filter one more value from the same column or field, use the operator symbol as “xlOr.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr End Sub
Step 4: Enter Criteria 2 as Politics

And for Criteria 2 argument mention the value as “Politics.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr, Criteria2:="Politics" End Sub

This will filter out both “Math” & “Politics” from column “Major.”

Example #4 - Filter Numbers with Operator Symbols

For example, if you want to filter numbers with, then we can filter a specific number as well as numbers above, below, or between specific values and range of values.

For example, from the age column, if you want to filter persons aged more than 30, then we can write the code like below.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">30" End Sub

This will filter all the values that are more than 30.

Now, if you want to filter values between 21 and 31, then we can use the below code.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">21", Operator:=xlAnd, Criteria2:="<31" End Sub

This will filter persons aged between 21 and 30.

Example #5 - Apply Filter for More Than One Column

If you want to filter values from more than one column criteria, then we need to use a slightly different technique.

If you want to filter “Student Status” as “Graduate” and “Country” as “US,” then first, we need to supply the RANGE of cells under the “WITH” statement.

Code:

Sub Filter_Example() With Range("A1:G31") End With End Sub

Sekarang di dalam pernyataan WITH, berikan kriteria pertama yang akan disaring.

Kod:

Sub Filter_Contoh () Dengan Julat ("A1: G31"). Bidang AutoFilter: = 4, Kriteria1: = "Siswazah" Tamat Dengan Sub Akhir

Sekarang di baris berikutnya, lakukan hal yang sama untuk "Negara" dengan mengubah "Bidang" menjadi 6 dan Kriteria sebagai "AS".

Kod:

Sub Filter_Contoh () Dengan Julat ("A1: G31"). Medan AutoFilter: = 4, Kriteria1: = "Siswazah". Bidang AutoFilter: = 6, Kriteria1: = "US" Akhir Dengan Sub Akhir

Sekarang ini akan menapis "Siswazah" hanya untuk negara "AS".

Perkara yang Perlu Diingat

  • Perkara pertama yang pertama hanya untuk penapis sel yang disebutkan akan digunakan.
  • Medan adalah ruang lajur yang anda mahu tapikan data.
  • Sekiranya menapis nilai dari lebih daripada satu lajur, maka gunakan Dengan.

Artikel menarik...