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 IntegerSetelah itu Anda harus membuat sebuah module yang nantinya akan dipanggil oleh command button dan berikut module yang harus Anda tuliskan :
Dim CariData
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
0 Response to "Function Pencarian Data Di Semua Worksheet Dengan Mudah #Rumus Ajaib"
Post a Comment