Sudah setahun lebih gak pernah berbagi artikel Excel, kali ini saya akan berbagi artikel tentang Pencarian atau filter Data pakai userform. Tujuan dari pencarian data ini untuk memudahkan para operator atau pengguna Excel untuk mencari Kode atau Nama yang jumlahnya banyak. Kayaknya gak perlu panjang lebar saya bercerita karena saya bukan seorang penulis. Ok langsung aja kita meluncur ke TKP,
Yang pertama kita buat dulu databasenya, Lihat gambar di bawah ini :
Keterangan :
Untuk menghemat memori biasakan pake rumus " Offset "
1. Pada Tab Formulas => Define Name => Namenya tulis : " Kode " lalu rumus formulanya :
" =OFFSET(Data!$B$2;0;0;COUNTA(Data!$B:$B)-1;1)"
2. Pada Tab Formulanya tulis lagi namenya : " Nama " lalu rumus formulanya :
" =OFFSET(Data!$C$2;0;0;COUNTA(Data!$C:$C)-1;1)"
Nah sekarang untuk sheetnya dah selesai. Lalu kita menginjak pada scriptnya.
Langkah Kedua buat dulu Userform yang isinya 2 ComboBox, 2 TextBox dan 1 ListBox :
Langkah Ketiga : Tinggal menulis soucecodenya/ skript atau apalah terserah,
Skript untuk Userform :
Private Sub UserForm_Click()
End Sub
Public sh As Worksheet
Public rgData As Range
Skript untuk Textxox1 dan TextBox2 :
Private Sub TextBox1_Change()
Set sh = ThisWorkbook.Sheets("Data")
Dim kriteria As String
kriteria = "*" & Me.TextBox1.Value & "*"
Me.TextBox1.Value = UCase(Me.TextBox1.Text)
With sh
If .FilterMode Then
.ShowAllData
End If
Select Case Me.ComboBox1.ListIndex
Case 0
With .Range("Kode")
Set cari = .Find(Me.TextBox1.Value, LookIn:=xlValues)
If cari Is Nothing Then
Exit Sub
Else
.AutoFilter field:=1, Criteria1:=kriteria
End If
End With
Case 1
With .Range("Nama")
Set cari = .Find(Me.TextBox1.Value, LookIn:=xlValues)
If cari Is Nothing Then
Exit Sub
Else
.AutoFilter field:=2, Criteria1:=kriteria
End If
End With
End Select
isiList
Me.Caption = "Pencarian " & Me.TextBox1.Value & " pada " & Me.ComboBox1.Value
End With
End Sub
Skript untuk Isian LisBoxnya :
Kode yang terakhir :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Set sh = ThisWorkbook.Sheets("Data")
With sh
If .FilterMode Then
.ShowAllData
End If
End With
End Sub
Akhirnya selesai juga bagaimana cara membuat Aplikasi tentang Pencarian Data secara sederhana ini..
Semoga bermanfaat, Salam
Pencarian Data Pada Userform
Penulis By Anang Utama on 03 January 2016 | No comments
Baca Juga Artikel Terkait Lainnya