Sortir Data pada Listbox dengan Combobox pada UserForm



Hai sahabat Excel-ID, gimana kabarnya? semoga tetap dalam keadaan sehat dan masih tetap semangat untuk belajar excel.

Pada tulisan 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 ketika Anda memilih data pada combobox maka listbox akan tampil sesuai dengan kriteria yang dipilihnya.

Oke langsung 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 menu Depelover kemudian pilih View Code lalu 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 bisa menambahkan Commandbutton. Untuk Commandbutton bisa ditambahkan bisa juga tidak karena tombol ini nantinya hanya digunakan untuk clear data saja dan ini juga bisa dilakukan pada object Combobox dengan menambahkan satu procedur khusus.

Desain Userform kira-kira tampilannya seperti berikut


Setelah desain Anda buat langkah berikutnya kita akan membuat 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 lalu lihat hasilnya


Ketika Anda memilih 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 jika ada pertanyaan silakan masuk di kolom komentar dan jika kalian mau lihat video tutorialnya silakan lihat di Youtube dengan kata kunci Excel-ID.

Semoga bermanfaat.



4 Responses to "Sortir Data pada Listbox dengan Combobox pada UserForm"

  1. assalamu'alaikum....
    terimakasih atas semua tutorial excell-id nya....dan aku sdh banyak mendownlodnya di youtube untuk aku pelajari.....alhamdulillaah sedikit mengerti
    semoga mendapat balasan dari Allah SWT dan ilmunya bermanfaat bagi kita semua...aamiin
    langsung saja..

    Aku ingin tutorial membuat aplikasi nikah ( model N1,model N2,model N3 dst...) sebagai persyaratan untuk nikah bagi kedua calon penganten...dan aplikasi ini mungkin sangat berguna bagi Lebe / Amil di desa yang biasa diminta jasanya untuk mengurus pernikahan dan atau sebagai arsip data pernikahan didesanya.

    Karena aku baru bisa
    1. membuat Userform yang datanya disimpan ke database ( yang isinya Biodata suami,istri,orangtuanya,wali dan juga saksi2,dll )
    Tapi untuk data yang dari database bisa ditransfer ke model N1,model N2,dst yang berupa lembaran lembaran surat yang datanya dari database dan langsung di cetak itu belum bisa codingnya.

    mohon maaf sebelumnya karena terlalu panjang....
    terimakasih
    Wassalaamualaikum.

    BalasHapus
    Balasan
    1. Oke pa, saya coba buatin aplikasinya mudah2 secepatnya

      Hapus
  2. bang saya pelanggan setia Excel-ID diyoutube atau blog..ane mau minta tolong
    gmn caranya buat sortir list box dengan 2 combobox atau lebih?thx bang mohon pencerahannta

    BalasHapus
  3. Assalamu'alaikum, Bang Master yth, saya sudah coba coding di atas, dan its works. Terimakasih, smg menjadi ladang pahala buat Abang sekeluarga.
    Tetapi bang, ketuka kriteria combobox adalah format tanggal, tidak bisa, hanya bisa jika kriterianya format Text.
    Mohon Abang Master, bisa memberikan pencerahan, bagaimana coding memsortir data di listbox dengan kriteria tanggal menggunakan combobox.
    Dan juga ada pilhan mensortir, misalnya, mulai tanggal 1 jan sd 31 jan .
    Mohon pencerahan dan bantuan dari Abang Master, juga sahabat sahabat excel yth. Ditunggu ya bang. .terimakasih, salam excel id.

    BalasHapus

Tulisan ini Bermanfaat..? Silakan berkomentar sesuai topik artikelnya, tidak dianjurkan menggunakan kata-kata yang dapat menimbulkan hal negatif. Mohon maaf apabila tidak memiliki etika akan Admin HAPUS tanpa pemberitahuan kembali. Terimakasih... salam Exceler