26 November 2016

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

SD IT Nurul Jannah, adalah sekolah dasar berbasis islam yang merangkum antara pendidikan formal atau umum dengan pendidikan agama secara menyeluruh, sehingga harapan kami nanti, mampu menciptakan generasi yang mandiri, cerdas, serta berahklakul karimah

0 Comments:

Berminat ingin menjadi penulis disini, silahkan kirimkan alamat email anda melalui halaman kontak kami.