thanks Mr. Kid



________________________________
 From: Mr. Kid <[email protected]>
To: [email protected] 
Sent: Saturday, 22 December 2012, 19:51
Subject: Re: [belajar-excel] filter drop down list
 

  
Hai Faisal,

File terlampir memiliki kondisi sebagai berikut :
>> Area Kriteria :
1. header kriteria di baris 1 yang harus sama dengan nama header terpilih di 
tabel data.
2. area penulisan kriteria pada baris 2 sampai baris 8 
3. area penulisan kriteria dimulai pada kolom B dan kolom A harus tetap kosong 
kecuali cell A1 yang berisi header No dari tabel data
4. area kriteria dilokalisir dengan adanya 8 baris kosong pada sebuah kolom 
setelah kolom terkanan area kriteria

>> Area input
1. Input berupa pilihan kolom kriteria yang akan digunakan
2. Input menggunakan fitur Data validation List dengan daftar item yang merujuk 
range J1:J6
3. Item-item dalam range J2:J5 harus sama dengan nama kolom terpilih dalam 
tabel data
4. Cell bantu posisi offset kolom terletak pada cell H2. Pelihara formula pada 
cell H2 dengan baik.
5. Pengubahan isi cell input akan memicu proses filter (memanfaatkan event 
change milik worksheet)
6. Jika tidak akan menggunakan kolom kriteria, maka pilihlah item [Semua Data]
7. Jika akan menggunakan seluruh kriteria, maka pilihlah item [Seluruh 
Kriteria].
8. Pelajari lebih lanjut karakteristik advanced filter agar dapat menyusun 
kriteria dengan baik ketika memilih opsi seluruh kriteria

>> Area data
1. Header data berupa 1 baris yang terletak di baris ke 10 dan memenuhi kaidah 
database tentang header data
2. Data dimulai pada baris ke-11 dan memenuhi kaidah database tentang record 
data

Prosedur event change milik worksheet diberi script berikut :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngCriteria As Range    'var range kriteria sesuai pilihan user
    Dim lRows As Long           'jumlah baris kriteria beserta headernya
    Dim lOff As Long            'nilai offset kolom untuk mencapai kolom 
kriteria terpilih dari kolom A
    
    With Application            'pada aplikasi
        .ScreenUpdating = False                     'turn off update tampilan
        .EnableEvents = False                       'turn off event
        .DisplayAlerts = False                      'turn off kecerewetan excel 
minta konfirmasi
        .Calculation = xlCalculationAutomatic       'paksa agar kalkulasi 
automatic
    End With                    'selesai aplikasi
    
    With Target                             'pada cell yang berubah nilai
        If .Count = 1 Then                      'cek jumlah cell yang berubah 
nilai
            'yup... cuma 1 cell yang berubah
            If .Address = "$G$2" Then               'cek alamat cell yang 
berubah nilai
                'yup... alamatnya cocok
                lOff = .Offset(0, 1).Value              'simpan nilai offset 
kolom
                Select Case lOff                        'berdasar nilai offset 
kolom
                Case 0 To 4         'semua data atau sebuah kolom kriteria 
terpilih saja
                    'definisikan kolom kriteria (basis : range a1:a8)
                    Set rngCriteria = Range("a1:a8").Offset(0, lOff)
                    
                    'hitung jumlah baris isi kriteria (termasuk baris header)
                    lRows = Application.WorksheetFunction.CountA(rngCriteria)
                    
                    'set ulang area kriteria terpilih
                    Set rngCriteria = rngCriteria.Resize(lRows)
                Case Else           'seluruh kriteria akan digunakan
                    'set seluruh area kriteria
                    Set rngCriteria = Range("a1").CurrentRegion
                End Select
                
                'proses filter dengan advanced filter
                Range("a10").CurrentRegion.AdvancedFilter xlFilterInPlace, 
rngCriteria
            End If                                  'selesai blok cek alamat
        End If                                  'selesai blok cek jumlah cell 
yang berubah nilai
    End With                                'selesai kerja pada cell yang 
berubah

    With Application            'pada aplikasi
        .EnableEvents = True        'turn on event
        .ScreenUpdating = True      'turn on update tampilan
        .DisplayAlerts = True       'turn on kecerewetan excel minta konfirmasi
    End With                    'selesai aplikasi
End Sub
 
Selamat menikmati liburan.

Wassalam,
Kid.


2012/12/22 Faisal Hasman <[email protected]>

 
>  
>dear mailing excel
>
>
>sebelumnya hal hal ini pernah dibahas 
>
>oleh pak hendrik... dengan file contoh FILTER BLOKKOTA
>namun setelah saya utak atik
>nda bisa jalan sesuai dengan file sample
>yangsaya attach
>mungkin karena macrox tidak mendukung
>karena saya mau memfilter
>dengan beberapa kriteria lagi
>yaitu, bentuk usaha, dusun, kelurahan/desa dan 
>
>kecamatan
>
>
>mungkin bisa dibantu memecahkan masalah ini
>kalo bisa macro filter blokkotax dijelaskan juga
>
>
>trima kasih
>

 

Kirim email ke