Monday, June 6, 2016

Dasar Macro - AutoFilter (2)

Setelah sebelumnya dibahas cara me-filter 1 kolom dengan 1 kriteria saja (disini), dalam bahasan ini akan dibahas bagaimana caranya me filter 2 kolom dan salah satu kolom nya menggunakan 2 kriteria.

Sedikit catatan saja untuk bahasan yang pertama, mungkin ada yang bertanya mengenai fungsi dan perbedaan AutoFilterMode dan FilterMode ? kalau nggak ada yang bertanya, biar saya jelasin aja :)..

Fungsi AutofilterMode (dipadukan dengan logika True / False) adalah untuk mengetahui apakah Autofilter sedang aktif. Argumen nya True / False. Kalau True, berarti sedang Aktif. Dan False Tidak Aktif. Penulisan lengkap skrip nya :
AutoFilterMode = False

Fasilitas Autofilter dalam kondisi tidak di aktifkan


Sedangkan FilterMode (juga dipadukan dengan logika True / False) adalah untuk mengetahui apakah data sedang terfilter atau tidak. Argumen yang digunakan juga True / False. Kalau True, berarti data sedang dalam kondisi Terfilter, dan False berarti data tidak dalam kondisi terfilter. Sudah kelihatan beda nya kan ? apabila data dalam kondisi terfilter, terlihat nomer baris sebelah kiri menjadi biru.

Tabel data sedang dalam kondisi Terfilter

Untuk pembahasan kali ini, silakan download file contoh nya disini.

Seperti yang sudah dijelaskan diatas, kali ini akan dicontohkan bagaimana caranya memfilter 2 kolom, dan 1 kolom menggunakan lebih dari 1 kriteria.

Untuk lebih jelas nya coba tekan Alt + F11 untuk menampilkan VBE dan buka Module nya.

Berikut adalah skrip untuk prosedur Button2 yang berfungsi untuk memfilter data :

Sub Button2_Click()
    Range("A1:L1").AutoFilter
    
    Range("A1:L1").AutoFilter field:=6, Criteria1:=Array("Alabama", "Arizona", "Arkansas"), _
    Operator:=xlFilterValues
    
    Range("A1:L1").AutoFilter field:=4, Criteria1:="High"
End Sub

Untuk menggunakan banyak kriteria, disini digunakan metode Array, kemudian diikuti dengan kriteria nya. Kriteria yang digunakan adalah Alabama, Arizona dan Arkansas. Jangan lupa setelah itu ikuti dengan argumen Operator:=xlFilterValues.

Sebenarnya, untuk kriteria yang banyak kita bisa menggunakan operator xlOr atau xlAnd. Hanya nggak tau kenapa cara itu nggak pernah bisa. Paling tidak di Excel 2010 yang saya gunakan. Apapun alasan nya, ternyata di luar sana, orang-orang banyak menyarankan dengan metode Array seperti diatas.

Kemudian menyusul dibagian bawah nya terihat bagaimana caranya untuk memfilter field Order Priority yang jatuh pada kolom ke 4, dengan kriteria High.

Semoga bisa dicerna ya penjelasan nya ? :)

Untuk berikutnya saya akan coba menjelaskan bagaimana menggunakan tanggal sebagai kriteria nya.

No comments:

Post a Comment