Cari Membuat Filter/Pencarian Data Dengan 2 Kreteria Tampil Di Listbox

Cari Filter/Pencarian Data Dengan 2 Kreteria Tampil Di Listbox - Cari Filter/Pencarian Data Dengan 2 Kreteria menggunakan combobox bertingkat seperti terlihat pada gambar gif dibawah.! Mau tau cara membuatnya.?! 

Membuat Aplikasi sederhana dengan tombol pencarian bertingkat akan membuat pengguna lebih leluasa dalam menentukan pencarian data berdasarkan kreteria data yang ada.
Tampilan Pencarian Data/Filter Dengan 2 Kreteria
Pencarian data atau sering disebut dalam dunia Excel Filter data pada sebuah aplikasi merupakan hal yang wajib. 

Tombol pencarian akan mempercepat pengguna dalam mencari suatu data yang terdapat dalam daftar. 

Pencarian data bertingkat yang akan admin jelaskan pada artikel ini akan sangat membantu anda yang gemar membangun aplikasi dalam bekerja.


Pada aplikasi yang digunakan di Swalayan untuk menanggani stok barang, penjualan dan pembelian barang juga dilengkapi dengan berbagai pencari data. 

Jika pencarian data dilakukan secara manual akan kesulitan rasanya jika kita harus mencari satu nama item barang dari berbagai macam item nama barang.

Bagi anda yang bekerja di bidang pendidikan juga sering menggunakan fasilitas pencarian data. Hal ini sering dilakukan ketika pihak administrasi sekolah harus membuat surat keterangan siswa. 

Jika lembaga pendidikan memiliki jumlah siswa yang banyak tentu akan akan kesulitan.

Oleh karena itu admin akan memberikan suatu contoh dan gambaran Cari Membuat Filter/Pencarian Data Dengan 2 Kreteria Tampil Di Listbox yang dapat menyempurnakan aplikasi yang sedang anda rancang untuk kemudahan bekerja.

Baca Terlebih dahulu Posting agar lebih matang memahaminya
  1. Cara Membuat Range Dinamis
  2. Tampilkan Data di ListBox di UserForm VBA Excel
Karena tahap awal sebelum membuat Combobox bertingkat untuk mencari data/menfilter data dengan 2 kreteria haruslah terlebih dahulu membuat range dan menampilakan data pada Listbox. 

Langkah-langkah Cari Data/Filter Data Dengan 2 Kreteria menggunakan Combobox dan Tampil Di Listbox :
  • Download Sample disini : Cari Data-Combobox Bertingkat 
  • Buka Visual Basic dan rangcanglah sesuai dengan tampak pada gambar format gift diatas
  • Sesuiakan Properties sebagai berikut
  • Tempat Kode Berikut pada userform dimana ajha, untuk menampilkan data pada Listbox1
Sub ListData1()
With UserForm1.ListBox1
.ColumnCount = 6
.ColumnHeads = False
.ColumnWidths = "50"
.RowSource = "RDATA"
.BoundColumn = 0
End With
End Sub
  • Tempatkan kode berikut ini pada userform dimana ajha untuk Kategori
Sub Kategori()
Dim i As Integer
Dim Ws As Worksheet: Set Ws = Sheet1
With UserForm1.ComboBox1
For i = 3 To 6
.AddItem Ws.Cells(2, i)
Next i
End With
End Sub
  • Tempatkan Kode dibawah ini pada Userform_Initialize()
Private Sub UserForm_Initialize()
Call ListData1
Call Kategori
Call RemoveCaption(UserForm1)
End Sub
  • Tempatkan Kode dibawah ini pada Combobox1_Change()
Private Sub ComboBox1_Change()
Dim i As Integer
Dim Ws As Worksheet: Set Ws = Sheet1
Dim Cb As String
Dim tmp As String
Cb = ComboBox1.Value
ComboBox2.Clear
Select Case Cb
Case "JENIS KELAMIN"
With UserForm1.ComboBox2
For i = 3 To Cells(Rows.Count, 3).End(xlUp).Row
If InStr(1, tmp, Ws.Range("C" & i) & ";") = 0 Then
         .AddItem Ws.Range("C" & i)
        tmp = tmp & Ws.Range("C" & i) & ";"
            End If
        Next i
    End With
Case "TANGGAL"
With UserForm1.ComboBox2
For i = 3 To Cells(Rows.Count, 4).End(xlUp).Row
If InStr(1, tmp, Ws.Range("D" & i) & ";") = 0 Then
         .AddItem Ws.Range("D" & i)
        tmp = tmp & Ws.Range("D" & i) & ";"
            End If
        Next i
    End With
Case "BULAN"
With UserForm1.ComboBox2
For i = 3 To Cells(Rows.Count, 5).End(xlUp).Row
If InStr(1, tmp, Ws.Range("E" & i) & ";") = 0 Then
         .AddItem Ws.Range("E" & i)
        tmp = tmp & Ws.Range("E" & i) & ";"
            End If
        Next i
    End With
Case "TAHUN"
With UserForm1.ComboBox2
For i = 3 To Cells(Rows.Count, 6).End(xlUp).Row
If InStr(1, tmp, Ws.Range("F" & i) & ";") = 0 Then
         .AddItem Ws.Range("F" & i)
        tmp = tmp & Ws.Range("F" & i) & ";"
            End If
        Next i
    End With
End Select
End Sub
  • Masih pada Combobox1 Perhatikan gambar berikut, Bagian yang saya merahkan..!!
  • Tempatkan Kode dibawah ini pada Combobox2 
Private Sub ComboBox2_Change()
Sheets("DATA").Range("K2").Value = UserForm1.ComboBox2.Text
End Sub
  • Tempatkan Kode dibawah ini pada Private Sub Label2_Click, Untuk Tombol Cari Data
Private Sub Label2_Click()
Dim Ws As Worksheet: Set Ws = Sheets("DATA")
Dim WsRekap As Worksheet: Set WsRekap = Sheets("LAPORAN")
Dim R As Range: Set R = Ws.Range("RDATA")
Dim RFilter As Range: Set RFilter = Ws.Range("K1:K2")
Dim RCari As Range: Set RCari = Ws.Range("K2")
Dim C As Variant
If Ws.FilterMode Then Ws.ShowAllData
If UserForm1.ComboBox2.Text = "" Then
    MsgBox "Pilih Rekap Laporan Terlebih Dahulu..!!", 64, "Filter Data"
    Exit Sub
End If
        UserForm1.ComboBox2.Text = RCari
        R.AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=RFilter, CopyToRange:=WsRekap.Range("B3:G3"), Unique:=False
ListBox1.RowSource = "RLAPORAN"
End Sub
  • Tempatkan Kode dibawah ini pada , Untuk tombol Tampil Semua data di Listbox
Private Sub Label3_Click()
Call ListData1
End Sub

Demikian Posting Cari Data/Filter Data Dengan 2 Kreteria Tampil Di Listbox, Semoga dapat dikembangkan.
Jika masih gagal paham baca yang disini ajha lebih banyak gambarnya 

29 komentar untuk "Cari Membuat Filter/Pencarian Data Dengan 2 Kreteria Tampil Di Listbox"

  1. terimakasih buat pestinganya sangant membantu pak,

    BalasHapus
    Balasan
    1. Sma2 pak Samsudin Eltibiz... Semoga dapat dikembangkan lagi... Bila ada Aplikasi VBA excel mhon bisa di share ke email saya senbakusen@gmail.com

      Hapus
  2. ass. pak koq ada error di
    Private Sub UserForm_Initialize()
    Call ListData1
    Call Kategori
    Call RemoveCaption(UserForm1)
    End Sub

    BalasHapus
    Balasan
    1. Sama... Ane error juga di userform_Intialize

      tepatnya di Call RemoveCaption(userform1)

      Hapus
  3. yg Call RemoveCaption(Userform1) itu untuk apa mas, errornya d situ

    BalasHapus
    Balasan
    1. Call RemoveCaption(Nama_UserForm) untuk menyembunyikan header UserForm..
      Laporan Errornya bgaimana?

      Hapus
    2. Bang minta filenya dong please... error mulu aku buatnya bang...

      Hapus
    3. email aku bang. Boriizakkaratemhooru@gmail.com
      terima kasih sebelumnya bang...

      Hapus
  4. compile error: sub or function not difined
    saya coba hapus yg "Call RemoveCaption(Nama_UserForm)" malah bisa jalan

    BalasHapus
    Balasan
    1. Mantap... hapus saja x... cari jalan mudah saja...

      Hapus
    2. koq jd bilang mantaf mas... orang saya bingung... tp makasih banyak ilmunya mas, semoga jd amal ibadah.. amin.
      izin terus belajar dari sini mas

      Hapus
    3. lanjutkan....!! bila ada kendala.. contact lagi..

      Hapus
  5. Mas mau nnya bedanya yg 2 kriteria dengan combobox bertingkat apa ya kok sya liat hampir sama ya??,

    Oia mas, setelah di filter bisa ngk kita tambahin tombol print, jadi data yg di print hanya yg terfilter?

    BalasHapus
    Balasan
    1. Sama saja mas Syamsul Arifin..
      saya bikin dua Judul posting karena untuk mencari target pencarian Google saja...

      Untuk tombol print bisa ditambahkan.. dengan sheet hasil pencarian atau sheet hasil filter untuk perintah printnya...

      Hapus
  6. Saya mencoba koding nya di database lain mas, tetapi selalu bermasalah di koding yang ini:
    R.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=RFilter, CopyToRange:=WsRekap.Range("B3:G3"), Unique:=False
    ListBox1.RowSource = "RLAPORAN"

    Saya sudah membuat hasil Advanced Filter untuk sheet yang saya namakan LAPORAN juga, tapi masih gagal. Apakah ada step yang kurang?

    BalasHapus
    Balasan
    1. Kemungkinan besar ketidak cocokan range sumber data, range pencarian dan range hasil pencarian..
      jika berkenan bisa kirimkan filenya ke email : senbakusen@gmail.com

      Hapus
    2. Saya sudah kirim file nya ke email ya mas. Mohon bantuannya, terimakasih

      Hapus
  7. kalo mau masukan semua hasil filter ke sheet gimana cara nya gan

    BalasHapus
    Balasan
    1. Masih bingung dengan menghayal logika yang diingikan..!! jadi smentar blom dapat Wangsit..!! hhehehe

      Hapus
  8. Merubah range data dan laporan gmana ya mas biar contoh datanya lebih banyak, saya buka name managernya, tapi gk maksud, haha...., terima kasih, semoga admin senbakusen diberkahi umur panjang, rezki yang berlimpah dan keluarga yang bahagia, aamin (ngerayu), :)

    BalasHapus
    Balasan
    1. Apakah maksudnya ingin membuat filter dengan dua combobox dan data filter lebih banyak lagi dari contoh yang ada..!!?

      Jika demikian..!! caranya cukup menambahkan header tabel dan datanya.

      Selanjutnya judul headers dari tabel kembali di tambahkan pada kode vbanya....

      Demikian mas... semoga dimengerti.. bahasa ala otodidak....

      terimakasih atas doanya semoga terkabulkan.. Amin.!!

      Hapus
  9. Mohon Izin untuk belajar dari sini ya Mas...

    BalasHapus
  10. saya masih bingung untuk menanpilkan advance filternya..tapi akan terus di coba
    File contohnya juga sudah g' bisa di download...

    BalasHapus
    Balasan
    1. Semoga membantu mas.. Mungkin minat promo ramadhan..
      berikut linknya
      https://www.senbakusen.com/2018/04/contoh-file-penerapan-vba-excel-dan.html

      Hapus
  11. selamat sore
    saya sudah mencoba di file yang disediakan di download dan berhasil
    namun pas saya praktekaan di file yang lain selalu gagal, mohon bantuan dan arahanya
    terimakasih

    BalasHapus
    Balasan
    1. Di ulang lagi.. pasti ada langkah yang tertinggal..

      Hapus
  12. haloha mas,
    mas, ketika programnya saya coba terdapat permision denied pada sub kategori, hal ini terjadi kenapa ya mas?
    terimakasih mas, mohon info.

    BalasHapus
    Balasan
    1. ada penempatan kode yang tidak relevan dengan aturan..

      Hapus
  13. Tambah kolom edit dimna aja ya?

    BalasHapus

Komentar Anda Sangat Menentukan Kelangsungan Blog ini