-->
ZDIRY-TUFWT-EBONM-EYJ00-IDBLANTER.COM
ZDIRY-TUFWT-EBONM-EYJ00
BLANTERWISDOM105

Pencarian Data di Listview Vba Excel Berdasarkan Kategori

Pencarian Data di Listview Vba Excel Berdasarkan Kategori
Pencarian Data di Listview Vba Excel Berdasarkan Kategori
Dalam sebuah aplikasi biasanya ada fitur pencarian data, fitur tersebut sangatlah di butuhkan apabila data yang kita miliki tersebut sudah mencapai  ratusan bahkan ribuan, tentu dengan data sebanyak itu akan  menyulitkan kita apabila kita lakukan secara manual. 

Baiklah kali ini saya akan membahas tentang bagaimana mencari data dengan mudah di listview menggunakan combobox berdasarkan kategori yang kita inginkan, Misalnya pencarian Kode, Nama, Alamat, Nomor Transaksi dan sebagainya. 

Ketika kita pilih contohnya nama barang di combobox dan kemudian kita ketikan nama barang yang kita inginkan maka nama barang yang kita pilih tersebut tampil di tabel listview.


Coding yang digunakan pada listview sangatlah jauh berbeda dengan listbox. Ok dech sobat Excel Tanpa berlama-lama silahkan simak aja Langkah-langkah nya di bawah ini. 
Komponen yang di gunakan Listview, Combobox dan textbox.

Pencarian Data di Listview Vba Excel

  • Baiklah pertama buatlah tabel barang seperti di gambar.
Pencarian Data di Listview Vba Excel Berdasarkan Kategori
  • Kemudian desainlah form  seperti berikut:
Pencarian Data di Listview Vba Excel Berdasarkan Kategori
  • Ketikan coding di textbox seperti berikut:
Private Sub TextBox1_Change()
Dim akate As Integer
Dim vkate As String
        vkate =TextBox1
        Select Case cbocari.ListIndex    
        Case 0 'nama  akate = 2  
        Case 1 'kategori akate = 4  
        Case 2 'kode barang akate = 3 
    End
    Select If
        akate > 0 Then   
        Loadbarang akate, vkate 
    Else   
        Loadbarang 1, "semua" 
   End If 
End Sub 
  • Kemudian di Userform_Active buatlah coding seperti berikut.
Private Sub UserForm_Activate()
    With  
    cbocari.Clear
    .AddItem "Nama Barang"
    .AddItem "Kategori"
    .AddItem "Kode Barang"
    .ListIndex = 0 
End With
    Loadbarang 1, "semua"
End Sub  
  • Kemudian di Userform_unitialize ketikkan coding seperti berikut.
Private Sub UserForm_Initialize()
With
    ListView1.FullRowSelect = True
    .Gridlines = True
    .View = lvwReport.ColumnHeaders.Add , ,
    "Kode Barang", 70.ColumnHeaders.Add , ,
    "Nama Barang", .Width - 320.ColumnHeaders.Add , ,
    "Kategori", 80.ColumnHeaders.Add , ,
    "Satuan", 60.ColumnHeaders.Add , ,
    "Harga", 60.ColumnHeaders.Add , ,
    "Stok", 50
End With
End Sub 
  • Setelah itu buatlah coding seperti gambar berikut ini.
Private Sub Loadbarang(akategori As Integer, vkategori As String)
Dim jml As Integer
Dim i As Integer
Dim lis As ListItem

jml = Sheet1.Range("kdbarang").Count - 1

If jml > 0 Then
    ListView1.ListItems.Clear
    For i = 1 To jml
        Select Case akategori
            Case 1 'semua
                Set lis = ListView1.ListItems.Add(, , Sheet1.Range("databarang").item(i, 2))
                lis.SubItems(1) = Sheet1.Range("databarang").item(i, 4)
                lis.SubItems(2) = Sheet1.Range("databarang").item(i, 5)
                lis.SubItems(3) = Sheet1.Range("databarang").item(i, 6)
                lis.SubItems(4) = Sheet1.Range("databarang").item(i, 7)
                lis.SubItems(5) = Sheet1.Range("databarang").item(i, 9)
            Case 2 'nama
                vkategori = LCase(vkategori) & "*"
                If LCase(Sheet1.Range("databarang").item(i, 4)) Like vkategori Then
                    Set lis = ListView1.ListItems.Add(, , Sheet1.Range("databarang").item(i, 2))
                    lis.SubItems(1) = Sheet1.Range("databarang").item(i, 4)
                    lis.SubItems(2) = Sheet1.Range("databarang").item(i, 5)
                    lis.SubItems(3) = Sheet1.Range("databarang").item(i, 6)
                    lis.SubItems(4) = Sheet1.Range("databarang").item(i, 7)
                    lis.SubItems(5) = Sheet1.Range("databarang").item(i, 9)
                End If
            Case 3 'kode
                vkategori = LCase(vkategori) & "*"
                If LCase(Sheet1.Range("databarang").item(i, 2)) Like vkategori Then
                 
                    Set lis = ListView1.ListItems.Add(, , Sheet1.Range("databarang").item(i, 2))
                    lis.SubItems(1) = Sheet1.Range("databarang").item(i, 4)
                    lis.SubItems(2) = Sheet1.Range("databarang").item(i, 5)
                    lis.SubItems(3) = Sheet1.Range("databarang").item(i, 6)
                    lis.SubItems(4) = Sheet1.Range("databarang").item(i, 7)
                    lis.SubItems(5) = Sheet1.Range("databarang").item(i, 9)
                End If
               
            Case 4 'kategori
                vkategori = LCase(vkategori) & "*"
                If LCase(Sheet1.Range("databarang").item(i, 5)) Like vkategori Then
                    Set lis = ListView1.ListItems.Add(, , Sheet1.Range("databarang").item(i, 2))
                    lis.SubItems(1) = Sheet1.Range("databarang").item(i, 4)
                    lis.SubItems(2) = Sheet1.Range("databarang").item(i, 5)
                    lis.SubItems(3) = Sheet1.Range("databarang").item(i, 6)
                    lis.SubItems(4) = Sheet1.Range("databarang").item(i, 7)
                    lis.SubItems(5) = Sheet1.Range("databarang").item(i, 9)
                End If
        End Select
    
    Next i
    ListView1.SelectedItem.Selected = False
End If
End Sub
Terakhir silahkan klik Run (F5). 
Bagi yang mau mencoba, silahkan klik download di bawah ini. 
Salam sukses, semoga Berhasil.
Share This :
Admin

Blogger Pemula yang ingin berbagi seputar Tutorial, Aplikasi, Smartphone dan Teknologi.

16 komentar