Isi ComboBox Sesuai Data Dalam Sheet dengan excel Macro

Isi ComboBox Sesuai Data Dalam Sheet dengan excel Macro





Combobox merupakan salah satu element form yang sering digunakan dalam aplikasi,pada umumnya combobox digunakan untuk memilih salah satu option dimana terdapat banyak option yang ada dalam bentuk dropdown. Ada beberapa cara untuk membuat dropdown combobox dan value dalam combobox bisa langsung ditulis dalam modul seperti contoh dibawah ini
ComboBox1.Clear
Combobox1.AddItem "Combobox isi 1"
Combobox1.AddItem "Combobox isi 2"
Combobox1.AddItem "Combobox isi 3"
Combobox1.AddItem "Combobox isi 4"

Anda bisa meletakan modul atau kode macro diatas dalam event useform active, untuk filse sampelnya anda bisa mendownload pada link dibawah ini


Isi ComboBox Sesuai Data Dalam Sheet dengan excel Macro
Masalahnya akan muncul jika data value yang akan ditampilkan dalam combobox berjumlah puluhan data value, untuk itu ada cara lain untuk menampilkan data value kedalam combobox dengn jumlah yang banyak, atau mungkin istilahnya menampilkan data value combobox berdasarkan nilai dalam kolom sheet.
Berikut ini merupakan kode macro untuk menampilkan data value combobox sesuai dengan isi kolom dalam sheet
Sub Combobox()
Set Iparengan = Sheets("Sheet1")
Dim Sel As Range
Dim NoDupes As New Collection
Set Status = Iparengan.Range("A3",Iparengan.Range("A3").End(xlDown))
ComboBox1.Clear
For Each Sel In Status
NoDupes.Add Sel.Value, CStr(Sel.Value)
Next Sel
For Each Item In NoDupes
ComboBox1.AddItem Item
Next Item
End Sub

Kode macro diatas dapat menampilkan data value combobox sesuai dengan data sheet1 pada kolom A, baris pertama adalah baris ketiga (3), jika yang ingin ditampilkan dalam combobox adalah berada dalam kolom B tinggal ganti kode macro
Set Status = Iparengan.Range("A3",Iparengan.Range("A3").End(xlDown))
menjadi
Set Status = Iparengan.Range("B3",Iparengan.Range("B3").End(xlDown))

dengan modul ini maka nilai atau value (isi) pada combobox tidak akan terdapat data yang nilaimya sama. misalnya :
Januari , Februari , Januari , Februari , Maret . . .
Maka nilai combobox hanya akan ada 3 nilai yaitu "Januari , Februari dan maret "


Isi ComboBox Sesuai Data Dalam Sheet dengan excel Macro
Cara ketiga mengisi combobox sesuai dengan kolom dalam sheet, langsung saja kode macronya adalah seperti dibawah ini
Sub Combobox()
Set Iparengan = Sheets("Sheet1")
Set Status = Iparengan.Range("A3",Iparengan.Range("A3").End(xlDown))
For Each sIparengan In Status
ComboBox1.Clear
With Me.combobox1
.AddItem sIparengan.Value
End With
Next sIparengan
combobox1.Value = combobox1.List(0)
End If
End Sub
Ada lagi cara atau bisa disebut pengembangan dari kode ketiga ini, kita bisa menampilkan data atau value dalam combobox dengan dua kolom atau tiga kolom atau empat kolom, bagaimana caranya, perhatikan kode macronya dibawah ini
+ Value atau isi combobox dua kolom
Sub Combobox()
Set Iparengan = Sheets("Sheet1")
Set Status = Iparengan.Range("A3",Iparengan.Range("A3").End(xlDown))
For Each sIparengan In Status
ComboBox1.Clear
With Me.combobox1
.AddItem sIparengan.Value
.List(.ListCount - 1, 1) = sIparengan.Offset(0, 1).Value
End With
Next sIparengan
combobox1.Value = combobox1.List(0)
End If
End Sub
+ Value atau isi combobox tiga kolom
Sub Combobox()
Set Iparengan = Sheets("Sheet1")
Set Status = Iparengan.Range("A3",Iparengan.Range("A3").End(xlDown))
For Each sIparengan In Status
ComboBox1.Clear
With Me.combobox1
.AddItem sIparengan.Value
.List(.ListCount - 1, 1) = sIparengan.Offset(0, 1).Value
.List(.ListCount - 1, 2) = sIparengan.Offset(0, 2).Value
End With
Next sIparengan
combobox1.Value = combobox1.List(0)
End If
End Sub
Demikianlah cara membuat Isi ComboBox Sesuai Data Dalam Sheet dengan excel Macro, semoga bisa dipahami dengan baik, jangan lupa dishare ya

Share this: