Dh,

Trimakasih pencerahan nya Mr.Kid, bnyak jalan alternatif, sangat bermanfaat
dan jelas.

Salam Sukses Slalu
Pada tanggal 25 Jul 2017 20.27, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> menulis:

>
>
> Hai Tian,
>
> Untuk cara definisi demikian, maka maksimalnya cuma 10 kolom (bawaan
> oroknya dah begitu).
>
> *Kasus dasar :*
> Andai ada tabel di sheet 'Kid' dengan header di A1:Z1, dengan jumlah
> record 5 biji (di A2:Z6) dan nama listbox nya adalah lstKid
> 1. memanfaatkan rowsource (bound to range)
> with lstKid
>   .columncount=26 'A s.d. Z ada 26 kolom
>   .columnheads=true
>   .rowsource=sheets("Kid").range("A2:Z6").address
> end with
>
> 2. memanfaatkan properti List (unbound), item pertama adalah header :
> with lstKid
>    .columncount=26
>    .columnheads=false
>    .list=sheets("Kid").range("A1:Z6").value
> end with
>
> atau kalau pakai array
> dim vDaftar as variant
> vDaftar=sheets("Kid").range("A1:Z6").value
> with lstKid
>    .columncount=26
>    .columnheads=false
>    .list=vDaftar
> end with
>
> *Kasus kolom yang terpilih saja :*
> Andai ada tabel di sheet 'Kid' dengan header di A1:Z1, dengan jumlah
> record 5 biji (di A2:Z6) dan nama listbox nya adalah lstKid
> Pengennya, listbox hanya berisi data A2:Z6 beserta header hanya kolom
> C,K,L,M,N,T,Y (7 kolom saja)
> 1. memanfaatkan rowsource (bound to range)
>     > harus menyediakan area range lain sebagai tabel kecil untuk daftar,
> misal di BA1:BZ6
> sheets("Kid").range("A:Z").entirecolumn.hidden=true
> 'hide seluruh sumber data dulu
> sheets("Kid").range("C:C,K:N,T:T,Y:Y").entirecolumn.hidden=false
> 'tampilkan kolom yang diinginkan
> sheets("Kid").range("A1:Z6").specialcells(xlcelltypevisible).copy
> sheets("Kid").range("BA1").pastespecial xlpastevalues
> sheets("Kid").range("A:Z").entirecolumn.hidden=false
> with lstKid
>   .columncount=*7* 'C,K,L,M,N,T,Y (*7* kolom saja)
>   .columnheads=true
>   .rowsource=sheets("Kid").range("BA2:BA6").resize(,*7*).address
> end with
>
> Untuk pakai properti List juga demikian.
>
> *Kasus baris yang terpilih saja (misal hasil autofilter) :*
> 1. memanfaatkan rowsource (bound to range)
>     > harus menyediakan area range lain sebagai tabel kecil untuk daftar,
> misal di BA1:BZ6
> dim lLastRow as long
> sheets("Kid").range("A1:Z6").specialcells(xlcelltypevisible).copy
> sheets("Kid").range("BA1").pastespecial xlpastevalues
> llastrow=sheets("Kid").cells(rows.count,"BA").end(xlup).row
> with lstKid
>   .columncount=26
>   .columnheads=true
>   .rowsource=sheets("Kid").range("BA2:BZ2").resize(llastrow-1).address
> '-1 karena header di baris ke-1
> end with
>
> *Kasus baris yang terpilih (misal hasil autofilter) dan kolom juga yang
> terpilih : *[ C,K,L,M,N,T,Y (7 kolom saja) ]
> dim lLastRow as long
> sheets("Kid").range("A:Z").entirecolumn.hidden=true
> 'hide seluruh sumber data dulu
> sheets("Kid").range("C:C,K:N,T:T,Y:Y").entirecolumn.hidden=false
> 'tampilkan kolom yang diinginkan
> sheets("Kid").range("A1:Z6").specialcells(xlcelltypevisible).copy
> sheets("Kid").range("BA1").pastespecial xlpastevalues
> sheets("Kid").range("A:Z").entirecolumn.hidden=false
> llastrow=sheets("Kid").cells(rows.count,"BA").end(xlup).row
> with lstKid
>   .columncount=*7* 'C,K,L,M,N,T,Y (*7* kolom saja)
>   .columnheads=true
>   .rowsource=sheets("Kid").range("BA2").resize(llastrow,*7*).address
> end with
>
> Kira-kira demikian.
>
> Regards,
> Kid
>
>
>
>
>
> 2017-07-23 5:09 GMT+07:00 'Christian. SimanjuntakTMJOAN'
> [email protected] [belajar-excel] <
> [email protected]>:
>
>>
>>
>> DH,
>>
>> Semangat Pagi
>>
>> Para master mohon dibantu, saya punya masalah dengan kode ini :
>>
>> Sub table()
>> Set datacoba = Sheets("arus kas")
>> ListBox1.RowSource = ""
>> With ListBox1
>> .AddItem
>> .List(.ListCount - 1, 0) = "NO REKENING"
>> .List(.ListCount - 1, 1) = "NAMA BANK"
>> .List(.ListCount - 1, 2) = "TANGGAL"
>> .List(.ListCount - 1, 3) = "BUKTI TRANS"
>> .List(.ListCount - 1, 4) = "SETORAN"
>> .List(.ListCount - 1, 5) = "BUNGA"
>> .List(.ListCount - 1, 6) = "PENARIKAN"
>> .List(.ListCount - 1, 7) = "PAJAK"
>> .List(.ListCount - 1, 8) = "BIAYA ADM"
>> .List(.ListCount - 1, 9) = "SALDO"
>> .ColumnWidths = 90 ";" 70 ";" 70 ";" 90 ";" 70 ";" 70 ";" 70 ";" 70 ";"
>> 70 ";" 70 ";" 70 ";" 90
>> End With
>> With datacoba
>> Set rgBase = datacoba.Range("A2:A500").SpecialCells(xlCellTypeVisible)
>> For Each sbase In rgBase
>> With ListBox1
>> .AddItem sbase.Value
>> .List(.ListCount - 1, 0) = sbase.Value
>> .List(.ListCount - 1, 1) = sbase.Offset(0, 1).Value
>> .List(.ListCount - 1, 2) = sbase.Offset(0, 3).Value
>> .List(.ListCount - 1, 3) = sbase.Offset(0, 5).Value
>> .List(.ListCount - 1, 4) = sbase.Offset(0, 6).Value
>> .List(.ListCount - 1, 5) = sbase.Offset(0, 7).Value
>> .List(.ListCount - 1, 6) = sbase.Offset(0, 8).Value
>> .List(.ListCount - 1, 7) = sbase.Offset(0, 9).Value
>> .List(.ListCount - 1, 8) = sbase.Offset(0, 10).Value
>> .List(.ListCount - 1, 9) = sbase.Offset(0, 11).Value
>> End With
>> Next sbase
>> End With
>> End Sub
>>
>> jika mau tampilkan kolom ke 10 dengan tambahan kode :
>>
>> .List(.ListCount - 1, 9) = "penerimaan" pasti terjadi error
>>
>> Terlampir screen shot erro nya
>>
>> pertanyaan :apakah untuk rumus diatas menampilkan data sheet update ke
>> listbox hanya bisa sampai 10 kolom setelah itu error? , tolong dibantu para
>> master
>>
>> terimakasih
>>
>>
>>
>
>

Kirim email ke