Hai sobat Excel-ID, gimana kabarnya? biar tetap dalam keadaan sehat dan masih tetap semangat untuk berguru excel.
Pada goresan pena kali ini saya akan membahas bagaimana caranya mensortir data yang sesuai dengan kriteria di combobox. Kedua objek tersebut combobox dan listbox saya taruh di Userform dan dikala Anda menentukan data pada combobox maka listbox akan tampil sesuai dengan kriteria yang dipilihnya.
Oke pribadi saja langkah pertama silakan Anda buat terlabih dahulu databasenya di Sheet1 kemudian Anda ganti nama sheetnya menjadi "Database" Kenapa saya ganti? Ini akan memudahkan anda dalam menentukan database mana yang akan diambil.
Kemudian silakan masuk ke VBA editor dengan cara klik sajian Depelover kemudian pilih View Code kemudian tambahkan satu buah Userform. Untuk menambahkan userform sudah pernah saya bahas silakan Anda lihat kembali caranya.
Lalu dalam userform tersebut kita tambahkan 3 buah objek yang pertama Combobox, Kemudian Listbox dan yang berikutnya Anda juga dapat menambahkan Commandbutton. Untuk Commandbutton dapat ditambahkan dapat juga tidak sebab tombol ini nantinya hanya dipakai untuk clear data saja dan ini juga dapat dilakukan pada object Combobox dengan menambahkan satu procedur khusus.
Desain Userform kira-kira tampilannya menyerupai berikut
Setelah desain Anda buat langkah berikutnya kita akan menciptakan coding nya. Silakan masukan coding berikut
Dim Data, Database
Option Compare Text
Private Sub ComboBox1_Change()
On Error Resume Next
If ComboBox1.Value = "" Then
Call TampilkanSemua
Else
Item = Me.ComboBox1: n = 0
Dim Tbl()
For i = 1 To UBound(Database)
If Database(i, 5) = Item Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(Database, 2), 1 To n)
For k = 1 To UBound(Database, 2): Tbl(k, n) = Database(i, k): Next k
End If
Next i
Me.ListBox1.Column = Tbl
End If
End Sub
Private Sub UserForm_Initialize()
Set Data = Sheets("Database")
Set d = CreateObject("Scripting.Dictionary")
Database = Data.Range("A2:E" & Data.[A65000].End(xlUp).Row).Value
Me.ListBox1.List = Database
For i = LBound(Database) To UBound(Database)
d(Database(i, 5)) = ""
Next i
Me.ComboBox1.List = d.keys
Me.ListBox1.ColumnCount = 5
Me.ListBox1.ColumnWidths = "0;50;150;20;40"
End Sub
Sub TampilkanSemua()
Set Data = Sheets("Database")
Set d = CreateObject("Scripting.Dictionary")
Database = Data.Range("A2:E" & Data.[A65000].End(xlUp).Row).Value
Me.ListBox1.List = Database
End Sub
Private Sub CommandButton1_Click()
Call TampilkanSemua
End Sub
Setelah itu coba anda run kemudian lihat hasilnya
Ketika Anda menentukan kelas X IPA 6 maka secara otomatis di listbox akan tampil data semua siswa yang berada di kelas X IPA 6.
Oke itu saja caranya silakan Anda praktekan jikalau ada pertanyaan silakan masuk di kolom komentar dan jikalau kalian mau lihat video tutorialnya silakan lihat di Youtube dengan kata kunci Excel-ID.
Semoga bermanfaat.
Sumber http://www.excel-id.com/