» » Pencarian Data Pada Userform

Pencarian Data Pada Userform

Penulis By on 03 January 2016 | No comments

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

Baca Juga Artikel Terkait Lainnya