Wa'alaikumussalam wr wb

Hai Dody,

1. Filter dan clear filter pada sebuah worksheet (BUKAN pada object hasil
fitur excel table)
>> proses memfilter : bisa dengan autofilter atau advanced filter. Untuk
kriteria yang banyak variasi dan banyak kolom, advanced filter jauh lebih
cocok dibanding autofilter.
>> proses clear filter : manfaatkan icon Clear (ribbon Data -> group Sort &
Filter -> clear). Anda bisa mencoba dengan record macro untuk proses clear
filter

2. prosedur event
>> ada baiknya untuk mempelajari ulang tentang maksud prosedur event.
>> event SELALU dikerjakan (kecuali ketika event di-disable) sesuai dengan
jenis prosedur event tersebut. Jadi, pahami setiap prosedur event yang
dimiliki oleh suatu object, agar bisa memilih event yang tepat. Pemilihan
yang tidak tepat akan merusak kinerja.
>> jika Anda akan memanfaatkan event milik object sebuah worksheet,
pelajari SETIAP event yang dimiliki oleh worksheet, agar bisa memilih jenis
event yang tapat dan sesuai dengan kebutuhan.
>> Contoh :
          event change milik worksheet akan dikerjakan jika ada (minimal)
satu cells di sheet tersebut yang berubah isinya.
          event selection change milik worksheet akan dikerjakan jika ada
perpindahan cells aktif.
          event activate milik worksheet akan dikerjakan jika sheet
tersebut dijadikan sheet aktif alias pindah dari tempat lain ke sheet
tersebut
          event deactivate milik worksheet akan dikerjakan jika sheet
tersebut menjadi tidak aktif (misal pindah ke sheet lain)

>> SELALU batasi area pemicu event. Contoh :
         event change akan dikerjakan jika ada cells di sheet tersebut yang
berubah isinya. Berhubung kebutuhannya adalah jika ada pengubahan isi cells
A1 saja, maka di dalam event change diberi batasan kerja si event change,
misal diberi kode :
          if target.address="$A$1" then
                    'proses yang dikerjakan ketika cells A1 berubah isinya
          endif
           'jadi, kalau yang berubah BUKAN cells A1, event akan melewatkan
proses yang khusus untuk cells A1 saja.

     Contoh lain :
         event selection change dikerjakan jika ada perpendahan cells
aktif. Berhubung kebutuhannya adalah jika cells aktif berpindah ke area
range A2:A7 saja, maka di dalam event selection change diberi batasan kerja
seperti :
          if not intersect( range("a1:a7") , target ) is nothing then
                   'proses yang dikerjakan ketika cells aktif berpindah ke
salah satu cells di area A1:A7
          endif

3. Pada kasus Anda
a. coba pilih event yang sesuai dengan kebutuhan Anda.
     - Yang dibutuhkan adalah proses filter dilakukan ketika isi cells i3
berubah isinya.
     - berarti yang dibutuhkan adalah event change milik worksheet
tersebut, dengan memberi batasan kerja hanya cells i3 yang berubah
b. buat proses yang terpisah antara memfilter dengan clear filter.
     - Kalau i2 ada isinya DAN i3 ada isinya, maka lakukan proses memfilter
(advanced filter yang sudah Anda buat)
     - Kalau selain itu, maka lakukan clear filter
     - dua kondisi diatas hanya membutuhkan 1 (satu) blok IF ... THEN ...
ELSE .... END IF
c. jika ada suatu tombol, lakukan proses yang lengkap pada tombol tersebut,
dan sebisa mungkin hindari bekerjanya event selain milik tombol tersebut
kecuali jika sudah pasti event lain tersebut sesuai alur proses yang
dibutuhkan si tombol.
     c1 ada tombol hapus filter
     c2 kalau di klik (berarti butuh event click milik si tombol),
prosesnya adalah menghapus isi cells i3 saja.
     c3 setelah itu, maka dilakukan clear filter
     c4 berhubung sudah ada event change yang berisi proses clear filter
jika cells i3 berubah isinya, maka si tombol bisa memanfaatkan event change
tersebut alias proses di dalam tombol cukup sampai c2 saja.


Selamat mencoba.

Wassalamu'alaikum wr wb
Kid




2016-02-20 9:32 GMT+07:00 Dody Irawan dodyirawa...@gmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
> Assalamualaikum sahabat-sahabat master excel.
>
> mohon pencerahan, saya buat filter dengan menggunakan vba (file terlampir)
> untuk filternya cepat, tapi mengembalikan data setelah di filter proses nya
> jadi lambat sekali.
>
> Mohon pencerahan dan bantuannya.
>
>
> terimakasih.
> Wassalamualaikum wr. wb.
>
> 
>

Kirim email ke