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 >> >> >> > >

