Bagaimana Cara Menerapkan & Menghapus Filter dari Data menggunakan VBA?

Daftar Isi

Filter VBA Excel

Alat Filter VBA digunakan untuk mengurutkan atau mengambil data spesifik yang diinginkan, fungsi Filter otomatis digunakan sebagai fungsi lembar kerja, namun fungsi ini memiliki argumen lain dengannya yang bersifat opsional dan satu-satunya argumen wajib adalah ekspresi yang mencakup rentang misalnya lembar kerja ("Sheet1"). Range ("A1"). Autofilter akan menerapkan filter pada kolom pertama.

Filter di VBA bekerja dengan cara yang sama seperti di lembar kerja. Satu-satunya hal yang berbeda adalah kita dapat mengotomatiskan tugas rutin menyaring data melalui pengkodean.

Filter Otomatis adalah fungsi yang menyertakan banyak nilai sintaks. Di bawah ini adalah parameter yang terlibat dalam fungsi Filter Otomatis.

  • Rentang adalah hal pertama yang perlu kita sediakan untuk menggunakan opsi "Filter Otomatis". Ini hanya untuk rentang sel mana kita perlu menerapkan filter, misalnya, Range ("A1: D50").
  • Bidang adalah argumen pertama dalam fungsi tersebut. Setelah rentang sel dipilih melalui objek VBA RANGE, kami perlu menyebutkan untuk kolom rentang mana kami ingin menerapkan filter.
  • Kriteria 1 tidak lain adalah di bidang yang dipilih , nilai apa yang ingin Anda filter.
  • Operator digunakan jika Anda ingin menggunakan argumen Kriteria 2 . Dalam opsi ini, kita dapat menggunakan opsi di bawah ini.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Dropdown terlihat adalah apakah akan menampilkan simbol filter di kolom filter diterapkan atau tidak. Jika Anda ingin menampilkan, maka Anda dapat memasukkan argumen sebagai TRUE atau FALSE.

Contoh untuk Memfilter Data menggunakan VBA

Contoh # 1 - Terapkan atau Hapus Filter ke Data

Jika Anda ingin menerapkan opsi filter ke data, kami dapat mematikan dan mengaktifkan opsi ini. Misalnya, lihat gambar data di bawah ini.

Langkah 1: Sediakan rentang data

Untuk mengaktifkan opsi filter terlebih dahulu, kita perlu menyediakan kisaran data kita. Pada gambar di atas, data kami tersebar dari A1 hingga G31, jadi berikan rentang ini dengan menggunakan objek RANGE.

Kode:

Sub Filter_Example () Range ("A1: G31") End Sub
Langkah 2: Kemudian akses fungsi AutoFilter

Sekarang akses fungsi Filter Otomatis untuk rentang ini.

Kode:

Sub Filter_Example () Range ("A1: G31"). AutoFilter End Sub
Langkah 3: Jalankan kode untuk mengaktifkan filter

Itu saja. Jalankan kode ini untuk mengaktifkan filter otomatis.

Kode ini berfungsi sebagai toggle, dan jika filter tidak diterapkan, maka itu akan diterapkan. Jika sudah diterapkan, maka itu akan dihapus.

Contoh # 2 - Filter Nilai Tertentu

Sekarang kita akan melihat bagaimana menggunakan parameter dari opsi AutoFilter. Ambil data yang sama seperti di atas. Misalnya, sekarang kita perlu memfilter semua nama jenis kelamin "Pria".

Langkah 1: Pilih Rentang dan Buka Fungsi Filter Otomatis
Langkah 2: Kemudian Pilih Bidang

Dalam argumen pertama dari fungsi yaitu, Field, kita perlu menyebutkan referensi kolom yang ingin kita filter. Dalam contoh ini, kita hanya perlu memfilter kandidat “Pria”, yaitu kolom “C”, sehingga nomor kolom adalah 3.

Langkah 3: Sekarang Sebutkan Kriteria

Sekarang untuk Bidang yang disediakan ini, kami perlu menyebutkan Kriteria 1 yaitu, nilai apa yang perlu kami filter di Bidang yang disebutkan . Kita perlu memfilter "Pria" dari kolom ini.

Kode:

Sub Filter_Example () Range ("A1: G31"). Bidang AutoFilter: = 3, Criteria1: = "Male" End Sub
Langkah 4: Dan jalankan kodenya

Ok, itu saja. Kode ini hanya akan memfilter kandidat “Pria” 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 difilter.

Kode:

Sub Filter_Example () Dengan Range ("A1: G31") .AutoFilter Field: = 4, Criteria1: = "Lulus" Akhiri Dengan End Sub

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

Kode:

Sub Filter_Example () Dengan Range ("A1: G31") .AutoFilter Field: = 4, Criteria1: = "Graduate" .AutoFilter Field: = 6, Criteria1: = "US" Diakhiri Dengan End Sub

Sekarang ini akan memfilter "Lulusan" hanya untuk negara "AS".

Hal-hal untuk diingat

  • Hal pertama yang pertama hanya untuk rentang sel filter yang disebutkan akan diterapkan.
  • Bidang tidak ada di kolom mana Anda ingin memfilter data.
  • Jika nilai pemfilteran dari lebih dari satu kolom, gunakan With.

Artikel yang menarik...