Memfilter data dengan fasilitas Auto Filter akan sangat
banyak manfaat nya apabila kita ber “urusan” dengan data yang lumayan banyak.
Apalagi kalau kita punya rencana untuk buat satu aplikasi dengan Macro / VBA.
sebuah Tabel Data dengan Autofilter yang sedang Aktif |
Daripada menggunakan Loop dan men-cek satu per satu isi cell
nya, menggunakan Auto Filter akan menjadikan nya lebih cepat dalam proses
seleksi dan evaluasi data yang kita inginkan.
Pada tulisan ini, dan beberapa bahasan berikutnya, akan
dibahas dasar-dasar penggunaan fasilitas Auto Filter untuk mem-filter sebuah
tabel data dengan menggunakan Macro.
Sebelum mulai membahas Auto Filter, download dulu file nya disini. Buka VBE dengan cara mengklik Alt + F11, dan klik Module nya.
Pada dasarnya penggunaan fasiltas Auto Filter dibagi menjadi
4, yaitu :
- Mengaktifkan Autofilter
- Memfilter data
- Menampilkan semua data
- Dan menghapus / meng non aktifkan Autofilter
1.
Mengaktifkan Autofilter dan Memfilter data
Mengaktifkan Auto Filter metode nya dengan syntax : range.AutoFilter
(Field, Criteria1, Operator,field, Criteria2 )
Cara mengaktifkan Autofilter pada file contoh dapat
dilihat pada prosedur “Apply Filter”.
If ActiveSheet.AutoFilterMode =
False Or ActiveSheet.FilterMode = False Then
Range("A1:G1").AutoFilter
Range("A1:G1").AutoFilter
Field:=3, Criteria1:="Algeria"
End If
Penjelasan :
Terlihat pada range A1 sampai G1
sebagai Header akan di filter. Setelah itu kolom / field ketiga, yaitu custCountry
sebagai field yang akan di filter, dan kriteria yang digunakan adalah nama “Algeria”.
2.
Menampilkan semua data
Untuk menampilkan semua data,
atau kalau dengan cara manual ketika kita memilih “Show All Data” untuk
menghapus kriteria filter, skrip nya ada pada prosedur ShowAllData. Skrip nya seperti berikut :
If ActiveSheet.AutoFilterMode =
False Then
MsgBox "Filter tidak Aktif !"
Exit Sub
Else
If ActiveSheet.FilterMode = False
Then
MsgBox "Data tidak di
filter"
Exit Sub
End If
End If
With ActiveSheet
.ShowAllData
End With
Penjelasan :
Terlihat ada 2 kondisi diawal
prosedur. Apabila Autofilter nya tidak aktif maka akan menampilkan pesan “Filter
tidak aktif !”. Dan apabila data tidak terfilter atau sedang dalam kondisi
menampilkan semua data maka akan ditampilkan pesan “Data tidak difilter !”.
Sedangkan metode menampilkan semua
data ada pada baris .ShowAllData. Yang berarti dengan Sheet yang aktif maka
data nya akan ditampilkan semua.
3. Menghapus / Men non aktifkan filter
Metode menghapus / men non
aktifkan Autofilter yang sedang aktif hanya dengan cek terlebih dahulu apakah
AutoFilter sedang aktif ? kalau ya (pada Prosedur ClearFilter, baris If
ActiveSheet.AutoFilterMode) maka tinggal
menambahkan argumen False karena argumen ini bersifat logika True / False.
Semoga bisa dicerna ya ? :) mohon maaf kalau bahasa nya rada blepotan. Hehehe
No comments:
Post a Comment