Dalam dunia pemrograman dikenal istilah bug yang artinya suatu error dalam kode Anda yang mana menghasilkan kesalahan, atau tergantung pada sifat dasar dari bug itu sendiri misalnya dapat menghentikan kode pada keseluruhannya ketika dijalankan.

Adapun untuk mengatasi permasalahan bug tersebut diperlukan suatu cara untuk melakukan pemeriksaan pada kode tersebut yang dikenal dengan istilah debugging.

Debugging merupakan proses menguji-coba suatu prosedur dari kemungkinan ditemukan adanya keberadaan bug yang harus diperbaiki.

Tip berikut ini akan membahas tentang debugging dari contoh kasus sederhana pada Macro VBA Excel, adapun misi Anda adalah menghilangkan runtime error pada saat Anda menggunakan metode Find untuk membantu tugas Anda mencari suatu nilai di dalam worksheet.

Gambar1

Pada Gambar1 di atas, dipertunjukkan kegiatan merekam Macro untuk mencari kata Halo di dalam suatu worksheet, kode yang didapatkan dari hasil rekaman tersebut adalah sebagai berikut:

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

Jika kata Halo tidak ditemukan di dalam worksheet, maka runtime error akan muncul karena kode yang terekam memerintahkan VBA untuk mengaktifkan sel yang berisi nilai ternyata tidak ada, seperti yang dipertunjukkan pada Gambar2.

Gambar3

Untuk menjalankan misi Anda, silakan ikuti langkah demi langkah berikut untuk mengganti kode sebelumnya seperti yang ditunjukkan pada Gambar3:

1. Hapus seluruh kode di antara garis kode Sub Macro1() dan End Sub.

2. Tepat di bawah garis kode Sub Macro1() tetapkan variabel variant sebagai nilai yang akan dicari:

Dim vc As Variant

3. Tentukan variabel jenis data String misalnya ca:

Dim ca As String

4. Tentukan variabel ca sebagai isian kotak input:

ca = _
InputBox("Apa yang ingin Anda cari?", "Mau cari apa?")

5. Jika tombol Cancel dipilih atau tidak ada yang dimasukkan ke dalam kotak input, maka keluar dari macro:

If ca = "" Then Exit Sub

6. Tugaskan variabel vc dengan menggunakan metode Find:

Set vc = _
Cells.Find(What:=ca, LookIn:=xlFormulas, lookat:=xlWhole)

7. Jika variabel vc tidak menemukan apa yang dicari, beritahu pengguna bahwa nilai telah dicari tapi tidak ditemukan:

If vc Is Nothing Then
MsgBox _
ca & " tidak ditemukan.", _
vbInformation, _
"Tidak ada."
Exit Sub
Else

8. Buat juga kotak pesan untuk memberitahukan pengguna bahwa nilai ditemukan di suatu sel:

MsgBox ca & " ada di dalam sel " & vc.Address, , "Ketemu!"

9. Akhiri penghubung logis If:

End If

10. Susunan kode Macro1 lengkapnya adalah:

Sub Macro1()
Dim vc As Variant
Dim ca As String
ca = _
InputBox("Apa yang ingin Anda cari?", "Mau cari apa?")
If ca = "" Then Exit Sub
Set vc = _
Cells.Find(What:=ca, LookIn:=xlFormulas, lookat:=xlWhole)
If vc Is Nothing Then
MsgBox _
ca & " tidak ditemukan.", _
vbInformation, _
"Tidak ada."
Exit Sub
Else
MsgBox ca & " ada di dalam sel " & vc.Address, , "Ketemu!"
End If
End Sub

Itulah pembahasan mengenai cara menghilangkan runtime error pada saat menggunakan metode Find untuk mencari suatu nilai yang ada di dalam worksheet.

Selamat mencoba dan semoga postingan ini bermanfaat.