Sunday, October 2, 2016

Dasar Macro - Menggunakan Advanced Filter ( 1 )

Bismillah..

Sebelumnya silahkan download dulu file contoh nya disini

Salah satu kelebihan Advanced Filter apabila dibandingkan dengan Autofilter adalah kemampuan Advanced Filter untuk menggunakan kriteria yang lebih kompleks (Kata Advanced atau lebih maju memang digunakan untuk menunjukan hal ini). Advanced Filter ada dibawah Obyek Range.

Dengan menggunakan Macro, Penggunaan Advanced Filter akan menjadi sangat bermanfaat khusus nya apabila kita bekerja dengan sebuah Tabel / Database Excel.

Dalam syntax Advanced Filter, secara garis besar ada 5 komponen yang harus dipahami. Komponen-komponen tersebut adalah :

1.      Range List / Tabel / Database sebagai sumber data
2.    Action : Jenis filter apa yang akan diterapkan. Filter langsung pada Database  atau copy hasil filter ke tempat lain.
3.     Kriteria / CriteriaRange
4.  Range Tujuan / CopyToRange : berkaitan dengan Nomer 2 apabila kita  memilih untuk mengcopy hasil filter ke tempat lain
5.     Unique : apabila kita menghendaki data yang di filter hanya yang Unik saja.

Bentuk Syntax secara keseluruhan :

Range.AdvancedFilter (Action, Kriteria, RangeTujuan, Unique)

1.      Range List / Tabel / Database
Seperti yang dijelaskan diatas, Range disini adalah sumber data yang akan kita filter. Usahakan List / Tabel ini haruslah berkaidah Database (Baris awal diformat Bold sebagai Header, Baris berikutnya adalah data, Tidak ada baris dan kolom kosong, Tidak ada Header dan data yang di Merge / digabung, dst – akan dibahas di kesempatan lain).

2.      Action
Jenis Filter yang akan diterapkan. Ada 2 jenis filter yaitu : xlFilterInPlace dan xlFilterCopy. xlFilterInPlace berfungsi memfilter data langsung pada Database nya. Sedangkan xlFilterCopy mengcopy hasil filter ke tempat lain.

3.      Kriteria / CriteriaRange
Range yang akan digunakan sebagai petunjuk bagi Excel, parameter data yang akan di filter. Range yang digunakan sebagai Kriteria ini HARUS persis sama dengan Header dari Database kita. Untuk lebih mudah nya, copy saja kolom-kolom Header nya yang akan kita gunakan sebagai kriteria. Urutan Kolom-kolom nya tidak harus sama persis. Pada contoh gambar dibawah terlihat urutan kriteria nya Nama, Jkel dan Jurusan mulai dari B1 sampai dengan D2.

4.      Range Tujuan / CopyToRange
Pilihan ini hanya berlaku apabila kita menggunakan pilihan Action xlFilterCopy. Karena apabila kita memilih untuk menggunakan Action xlFilterInPlace. Kecuali setelah difilter menggunakan xlFilterInPlace data yang sudah difilter akan dipindahkan ke tempat lain. Masalah nya jadi kerja dua kali kan ? :D

5.      Unique
Pilihan untuk yang digunakan untuk memilih data yang unik saja atau tanpa duplikat.

Pengaturan Tabel, Kriteria dan Tujuan Advanced Filter


Maka apabila melihat contoh gambar, penulisan skrip nya menjadi :


Range("A4:E14").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B1:D2"), _
CopyToRange:=Range("G4:K4"), _
Unique:=False

Hasil setelah skrip lengkap di jalankan

No comments:

Post a Comment