Daftar Isi:
- Memeriksa kode Anda
- Menggunakan fungsi MsgBox
- Memasukkan Debug Pernyataan cetak
- Menggunakan debugger VBA
Video: Excel VBA - Debugging 2024
Anda mungkin mengalami beberapa masalah dengan kode VBA Anda, tapi bagaimana Anda menemukan masalahnya? Terkadang kode VBA Anda mungkin memerlukan beberapa debugging. Teruslah membaca untuk menemukan empat metode yang paling umum untuk debug kode Excel VBA:
-
Memeriksa kode
-
Memasukkan fungsi MsgBox di berbagai lokasi dalam kode Anda
-
Memasukkan Debug. Pernyataan cetak
-
Menggunakan alat debugging built-in Excel
Memeriksa kode Anda
Mungkin teknik debugging yang paling mudah adalah melihat dari dekat kode Anda untuk melihat apakah Anda dapat menemukan masalahnya. Metode ini tentunya membutuhkan pengetahuan dan pengalaman. Dengan kata lain, Anda harus tahu apa yang Anda lakukan. Jika Anda beruntung, kesalahan melompat keluar, dan Anda menampar dahi Anda dan berkata, "D'oh! "Saat sakit dahi berkurang, Anda bisa mengatasi masalah.
Perhatikan penggunaan kata-kata, "Jika Anda beruntung. "Itu karena sering Anda menemukan kesalahan saat mengerjakan program Anda selama delapan jam berturut-turut, itu adalah 2 a. m., dan Anda menjalankan kafein dan tekad. Pada saat seperti itu, Anda beruntung jika Anda bahkan bisa melihat kode Anda, apalagi mencari bugnya. Jadi, jangan heran jika hanya memeriksa kode Anda saja tidak cukup membuat Anda menemukan dan membuang semua bug yang dikandungnya.
Menggunakan fungsi MsgBox
Masalah umum di banyak program melibatkan satu atau beberapa variabel yang tidak memperhatikan nilai yang Anda harapkan. Dalam kasus seperti itu, memantau variabel (s) saat kode Anda berjalan adalah teknik debugging yang bermanfaat. Salah satu cara untuk melakukannya adalah dengan memasukkan fungsi MsgBox sementara ke dalam rutinitas Anda. Misalnya, jika Anda memiliki variabel bernama CellCount, Anda dapat memasukkan pernyataan berikut:
MsgBox CellCount
Saat menjalankan rutinitas, fungsi MsgBox menampilkan nilai CellCount.
Sering kali membantu menampilkan nilai dua atau lebih variabel dalam kotak pesan. Pernyataan berikut menampilkan nilai dua variabel saat ini: LoopIndex (1) dan CellCount (72), dipisahkan oleh spasi.
MsgBox LoopIndex & "" & CellCount
Perhatikan bahwa kedua variabel digabungkan dengan operator concatenation (&) dan masukkan karakter spasi di antara keduanya. Jika tidak, kotak pesan mengikat kedua nilai itu bersama-sama, membuatnya terlihat seperti nilai tunggal. Anda juga bisa menggunakan built-in constant, vbNewLine, menggantikan karakter spasi. vbNewLine memasukkan umpan umpan garis, yang menampilkan teks pada baris baru. Pernyataan berikut menampilkan tiga variabel, masing-masing pada baris terpisah:
Menggunakan kotak pesan untuk menampilkan nilai dari tiga variabel.MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal
Teknik ini tidak terbatas pada variabel pemantauan. Anda dapat menggunakan kotak pesan untuk menampilkan semua jenis informasi berguna saat kode Anda berjalan. Misalnya, jika kode Anda melewati serangkaian lembar, pernyataan berikut menampilkan nama dan jenis lembar aktif:
MsgBox ActiveSheet. Nama & "" & TypeName (ActiveSheet)
Jika kotak pesan Anda menunjukkan sesuatu yang tidak terduga, tekan Ctrl + Break, dan Anda melihat kotak dialog yang memberitahukan eksekusi Kode telah terputus, Anda memiliki empat pilihan:
-
Klik Tombol Lanjutkan Kode terus mengeksekusi.
-
Klik tombol End. Eksekusi berhenti
-
Klik tombol Debug. VBE masuk ke mode Debug.
-
Klik tombol Help. Layar bantuan memberitahu Anda bahwa Anda menekan Ctrl + Break. Dengan kata lain, ini tidak terlalu membantu.
Menekan Ctrl + Break menghentikan eksekusi kode Anda dan memberi Anda beberapa pilihan.
Jika keyboard Anda tidak memiliki tombol Break, coba tekan Ctrl + ScrollLock.
Jangan ragu untuk menggunakan fungsi MsgBox sering saat Anda men-debug kode Anda. Pastikan Anda menghapusnya setelah Anda mengidentifikasi dan memperbaiki masalahnya.
Memasukkan Debug Pernyataan cetak
Sebagai alternatif untuk menggunakan fungsi MsgBox dalam kode Anda, Anda dapat memasukkan satu atau beberapa Debug sementara. Laporan cetak Gunakan pernyataan ini untuk mencetak nilai satu atau lebih variabel di jendela Immediate. Berikut adalah contoh yang menampilkan nilai tiga variabel:
Debug. Print LoopIndex, CellCount, MyVal
Perhatikan bahwa variabel dipisahkan dengan koma. Anda dapat menampilkan sebanyak mungkin variabel yang Anda suka dengan satu Debug tunggal. Pernyataan cetak
Debug. Print mengirimkan output ke jendela Immediate meskipun jendela itu tersembunyi. Jika Jendela Segera VBE tidak terlihat, tekan Ctrl + G (atau pilih View → Immediate Window). Berikut adalah beberapa output di jendela Immediate.
Debug. Pernyataan cetak mengirimkan output ke jendela Immediate.Tidak seperti MsgBox, Debug. Pernyataan cetak tidak menghentikan kode Anda. Jadi Anda perlu mengawasi jendela Immediate untuk melihat apa yang sedang terjadi.
Setelah melakukan debugged kode Anda, pastikan untuk menghapus semua Debug. Laporan cetak Bahkan perusahaan besar seperti Microsoft kadang lupa menghapus Debug mereka. Laporan cetak Di beberapa versi Excel sebelumnya, setiap kali Add-in ToolPak Analisis dibuka, Anda akan melihat beberapa pesan aneh di jendela Immediate. Masalah itu akhirnya diperbaiki di Excel 2007.
Menggunakan debugger VBA
Perancang Excel sangat akrab dengan konsep bug. Akibatnya, Excel menyertakan satu set alat debugging yang dapat membantu Anda memperbaiki masalah pada kode VBA Anda.