ComboBox adalah elemen control yang umum digunakan dalam memberikan pilihan dari daftar item yang sudah ada.
Ketika pengguna mengklik atau mengetuk kotak teks atau tombol panah, ComboBox akan menampilkan daftar opsi yang tersedia.
Pengguna dapat memilih salah satu opsi dari daftar ini, dan opsi tersebut akan muncul di kotak teks ComboBox. ComboBox sering digunakan untuk memilih dari sejumlah opsi yang sudah ditentukan, seperti daftar nama, tanggal, atau kategori.
Untuk menambahkan combobox kedalam userform, bisa dipilih icon combobox pada Toolbox kemudian Drag ke area dimana combobox ini akan ditempatkan
Silahkan atur posisi dan ukuran Combobox agar sesuai dengan keinginan
Untuk mengisi Item kedalam Combobox ada beberapa cara, bisa melalui Script atau langsung melalui Propertis Windows.
Jika menggunakan Script ada 3 cara yang berbeda yang bisa dilakukan untuk mengisi Combobox
Cara pertama untuk mengisi combobox adalah dengan menggunakan additem, dimana Item ditambahkan satu persatu kedalam combobox. sintaknya bisa dibuat seperti dibawah ini.
ComboBox1.AddItem "Apel" ComboBox1.AddItem "Semangka" ComboBox1.AddItem "Jeruk"
jika data Item berasal dari Range maka bisa ditambahkan dengan pengulangan (Looping), misalnya seperti dibawah ini :
For i=1 to 10 With ComboBox1 .AddItem Worksheets("NamaSheet").Cells(i,2).value End With Next i
Script diatas bisa disimpan di Userform_Initialize atau dipanggil melalui Userform_Initialize agar Item combobox diisi ketika Userform dijalankan.
Dengan menggunakan List kita bisa memasukan item kedalam combobox dengan menggunakan ARRAY. List Array bisa didapatkan dari Nilai langsung atau dari sumber Range.
Untuk sintaknya bisa ditulis seperti dibawah ini
ComboBox1.List = Array("Apel","Semangka","Jeruk")
atau list array dari hasil SPLIT
ComboBox1.List = Split("Apel,Semangka,Jeruk", ",")
Apapun bentuk dari Array bisa dimasukan kedalam List.
Contoh lainnya misalnya jika Apel,Semangka dan Jeruk ini berada di Worksheet Excel, misalnya berada di A1:A3 maka notasinya bisa dibuat seperti dibawah ini.
ComboBox1.List = Range("A1:A3").Value
Dengan menggunakan RowSource Artinya pengisian combobox diisi melalui alamat Range
Untuk contoh penggunaan script dari Rowsource secara sederhana bisa ditulis seperti dibawah ini :
ComboBox1.RowSource = "A1:A10"
Cara diatas sudah cukup untuk mengisi data ke combobox. Tetapi cara seperti ini kurang baik untuk dilakukan, karena data yang diambil adalah data dari sheet active saat ini, bukan dari sheet yang telah ditentukan.
Untuk menambahkan data kedalam Listbox dari sheet yang telah ditentukan, bisa menggunakan 2 cara, pertama bisa menggunakan Nama Range.
ComboBox1.RowSource = "DataSaya"
Cara kedua adalah dengan menggunakan fungsi Address dengan External True
ComboBox1.RowSource = Worksheets("NamaSheet").Range("A2:A10").Address(External:=True)
Berikut ini adalah beberapa Metode dan Property penting dalam menggunakan combobox. Ini akan membantu dalam menggunakan combobox secara maximal.
ComboBox1.Clear | Membersihkan Isi Combobox |
ComboBox1.ListCount | Menghitung Isi Combobox |
ComboBox1.ColumnCount | Jumlah Kolom Combobox yang ingin ditampilkan |