Diskusi tentang Excel

Pencarian Data di Semua Worksheet dengan Mudah

Hai para master excel, para pecinta excel masih tetap semangat belajar Ms. Excel dari dasar sampai dengan profesional. Mencari data pada database cukup memakan waktu yang lama dan hal ini tentunya akan menjadikan kita merasa lelah untuk mencari satu per satu. Bayangkan jika Anda memiliki data misalnya lebih dari 100.000 kemudian mencari salah satu nama misalnya nama karyawan tertentu untuk melihat datanya, wah Anda pasti sudah bisa menghitungnya berapa lama pencarian data secara manual.



Ada langkah terbaik untuk mencari data dan biasanya cara ini akan digunakan dalam membuat sebuah aplikasi menggunakan VBA ya berbasis VBA atau bisa dikatakan Macro. Nah, pada kesempatan kali ini hal tersebut akan saya bahas dan kupas tuntas bagaimana cara membuat pencarian pada semua worksheet yang ada pada workbook dengan mudah.

Coding, ya tentunya saya gunakan tambahan coding untuk membuat pencarian data pada semua worksheet yang ada. Oke jangan banyak-banyak saya contohkan worksheet yang saya miliki adalah standar saja yaitu memiliki 3 worksheet.

Langsung saja berikut coding yang harus Anda tuliskan pada VBA editor Anda :

Pertama Anda tambahkan atau definisikan beberapa perintah berikut
Dim JumlahSheet As Integer
Dim CariData
Setelah itu Anda harus membuat sebuah module yang nantinya akan dipanggil oleh command button dan berikut module yang harus Anda tuliskan :

Private Sub CariDataSemua()
    Dim counter As Integer
    Dim currentSheet As Integer
    Dim TidakDitemukan As Boolean
    Dim YesNo As String

    TidakDitemukan = True

    On Error Resume Next
    currentSheet = ActiveSheet.Index
    CariData = InputBox("Masukan kata kunci untuk pencarian")
    If CariData = "" Then Exit Sub
    JumlahSheet = ActiveWorkbook.Sheets.Count
    If IsError(CDbl(CariData)) = False Then CariData = CDbl(CariData)
    For counter = 1 To JumlahSheet
        Sheets(counter).Activate

        Cells.Find(What:=CariData, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

        If InStr(1, ActiveCell.Value, CariData) Then
            If HasMoreValues(counter + 1) Then
                YesNo = MsgBox("Mau Melakukan Pencarian Lagi?", vbYesNo)
                If YesNo = vbNo Then
                    TidakDitemukan = False
                    Exit For
                End If
            End If
            Sheets(counter).Activate
        End If
    Next counter
    If TidakDitemukan Then
        MsgBox ("Tidak Ditemukan")
        Sheets(currentSheet).Activate
    End If
End Sub

Sudah membuat module diatas langkah berikutnya silakan buat sebuah coding kembali dan tambahkan dalam satu module

Private Function HasMoreValues(ByVal JumlahSheeter As Integer) As Boolean
    HasMoreValues = False
    Dim str As String

    For counter = JumlahSheeter To JumlahSheet
        Sheets(counter).Activate

        str = Cells.Find(What:=CariData, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Value

        If InStr(1, str, CariData) Then
            HasMoreValues = True
            Exit For
        End If
    Next counter
End Function


Nah, karena saya akan memanggil perintah yang telah dituliskan melalui commandbutton atau Button1 yang telah diganti nama menjadi nama "Cari Data di Semua Sheet" maka seandainya Anda klik tombol diatas akan muncul sebuah kotak pesan yang harus Anda isi kata kunci apa yang akan Anda cari dan Anda disana harus menuliskan kata kunci yang akan dicari kemudian klik


Related

Macro Excel VBA 5019959110020687214

Post a Comment

Tulisan ini Bermanfaat..? Silakan berkomentar sesuai topik artikelnya, tidak dianjurkan menggunakan kata-kata yang dapat menimbulkan hal negatif. Mohon maaf apabila tidak memiliki etika akan Admin HAPUS tanpa pemberitahuan kembali. Terimakasih... salam Exceler

emo-but-icon

item