ListBox memiliki fungsi yang hampir sama dengan ComboBox, hanya saja jika comboBox merupakan gabungan antara ListBox dengan TextBox, Sementara ListBox dapat menampilkan beberapa nilai sekaligus dan pengguna dapat memilih beberapa nilai atau data yang ditampilkan dalam ListBox tersebut.

Untuk Mengisi data atau nilai dalam ListBox, dapat dilakukan dengan berbagai cara. Namun jika ingin mengisi data dalam ListBox agar sesuai dengan data yang tertulis dalam sebuah sel atau range, mungkin cara berikut bisa menjadi salah satu alternatif.


Konsep dalam mengisi listbox adalah dengan memakai Add Item atau menggunakan Row Source, Contoh memakai konsep AddItem

ListBox1.AddItem "Kolom A"
ListBox1.AddItem "Kolom B"
ListBox1.AddItem "Kolom C"

Listbox sendiri mempunyai kolom dan baris, ada yang perlu diperhatikan mengenai jumlah kolom pada listbox, saat menggunakan konsep AddItem maka jumlah kolom maksimal adalah 10 kolom, tidak bisa ditambah lagi, akan tetapi saat memakai konsep Row Source jumlah kolom tidak dibatasi

Misalnya saya mempunyai tabel data sebagaimana tabel data dibawah ini

No A B
1 BULAN STATUS
2 Januari Jomblo
3 Februari Jomblo
4 Maret Nikah
5 April Punya Anak
6 Mei Punya Anak
7 Juni Punya Anak
8

Saya akan menampilkan tabel data diatas kedalam listbox dengan beberapa konsep, baik dengan konsep Add Item atau menggunakan Row Source




Menampilkan data kedalam listbox dengan konsep Row Source tanpa header, dengan jumlah kolom 2

Sub TampikanTabel()
With ListBox1
.ColumnCount = 2 'Jumlah kolom listbox
.ColumnWidths = 70 & ";" & 120 'pengaturan lebar kolom listbox
.RowSource = "A2:B6" 'sumber listbox
.ColumnHeads = FALSE 'header listbox tidak ada
End With
End Sub

Menampilkan data kedalam listbox dengan konsep Row Source dengan header, dengan jumlah kolom 2
Jika menggunakan header maka yang akan digunakan adalah baris paling atas dikurangi 1, jadi kalau baris awal yang akan ditampilkan adalah baris 2 maka baris 1 akan digunakan sebagai header, jika baris awal adalah baris 1 maka header akan menjadi Coloumn1 Coloumn2 Coloumn3 dan seterusnya

Sub TampikanTabel()
With ListBox1
.ColumnCount = 2 'Jumlah kolom listbox
.ColumnWidths = 70 & ";" & 120 'pengaturan lebar kolom listbox
.RowSource = "A1:B6" 'sumber listbox
.ColumnHeads = TRUE 'header listbox
End With
End Sub

Menampilkan data kedalam listbox dengan konsep AddItem

Sub TampikanTabel()
ListBox1.Clear
With ListBox1
.AddItem '#1 Perintah untuk menambahkan data pada listbox
.ColumnCount = 2 '#2 Mengatur jumlah kolom, jika anda menggunakan cara ini maka jumlah kolom maximal hanya 10 kolom
.List(.ListCount - 1, 0) = "BULAN"
.List(.ListCount - 1, 1) = "STATUS"
.ColumnWidths = 70 & ";" & 90
End With
Set rgTampil = sheet1.Range("A2:A6").SpecialCells(xlCellTypeVisible)
For Each sTampil In rgTampil
ListBox1.AddItem sTampil.Value
ListBox1.List(ListBox1.ListCount - 1, 0) = sTampil.Value
ListBox1.List(ListBox1.ListCount - 1, 1) = sTampil.Offset(0, 1).Value
Next
End Sub

Menampilkan tabel data kedalam listbox dengan konsep ini akan terasa lamban jika tabel data yang akan ditampilkan berjumlah 1000 baris keatas, jadi gunakan konsep AddItem jika jumlah data tidak lebih dari 1000 baris




Konsep manapun yang anda pakai anda harus memanggilnya dengan menambahkan kode macro sseperti dibawah ini

Private Sub UserForm_Activate()
Call TampikanTabel
End Sub

Demikianlah cara Menggunakan Listbox excel, coba baca artikel cara menampilkan tabel data dengan Listview , semoga artikel ini bermanfaat. Salam
No comments