Penanganan Kesalahan VBA

Penanganan Kesalahan VBA Excel

Di VBA ketika kita bekerja dengan kode kita mungkin menemukan banyak jenis kesalahan dan cara mengatasi kesalahan ini dikenal sebagai penanganan Kesalahan, sekarang mungkin ada beberapa kesalahan yang dibuat dalam sintaks yang excel sendiri menyoroti itu tetapi ketika ada beberapa kesalahan yang berada di luar jangkauan atau sesuatu yang tidak ada excel memberi kita pop up untuk hal yang sama, penting untuk mengetahui kode kesalahan mana untuk kesalahan apa untuk mengidentifikasi kesalahan dalam kode.

Di Excel VBA saat menjalankan rangkaian kode apa pun, kami mendapatkan semacam kesalahan. Beberapa dari kesalahan ini adalah kesalahan sintaks, beberapa kesalahan yang tidak dapat dijalankan. Kesalahan sintaks adalah ketika dibuat oleh pengguna disorot dengan warna merah oleh excel itu sendiri. Tetapi ketika ada jenis kesalahan waktu berjalan lainnya, bagaimana kita menanganinya dan bagaimana kita mengatasinya, inilah yang akan kita bahas dalam artikel ini.

Terlepas dari kesalahan sintaks, kesalahan waktu proses lainnya perlu ditangani saat menjalankan rangkaian kode apa pun. Pertama, izinkan saya memberi contoh bagaimana kesalahan runtime lainnya terjadi. Lihat kode di bawah ini,

Ini adalah contoh kode ketika dieksekusi akan mengembalikan apa yang tertulis di fungsi msgbox. Namun seperti yang kita lihat bahwa pada baris kedua kode tersebut terdapat 4/0 yang tidak mungkin secara matematis sehingga akan mengembalikan error run time. Mari kita jalankan kode di atas dan lihat kesalahan yang akan kita dapatkan.

Ini adalah kesalahan yang kami dapatkan saat menjalankan kode yang diberikan. Sekarang bagaimana kita menangani kesalahan ini dilakukan dengan Penanganan Kesalahan.

Ada dua metode untuk menangani kesalahan yaitu:

  1. Pada Error Goto, dan
  2. Pada Kesalahan Lanjutkan Berikutnya.

Penjelasan

Seperti yang dijelaskan di atas, kami mendapatkan banyak jenis kesalahan di VBA, ada yang sintaks dan ada yang run time. Kesalahan sintaks sudah disorot dalam warna Merah, misalnya, lihat tangkapan layar di bawah ini,

Sedangkan yang lainnya adalah run time error. Pada dasarnya, excel akan melakukan tiga hal berikut, apakah itu akan menunjukkan kesalahan atau mengabaikan kesalahan itu atau akan menunjukkan serangkaian instruksi tertentu. Untuk melakukan tugas seperti itu kita perlu memberikan instruksi dan ini disebut Penanganan Kesalahan.

Bagaimana Menangani Kesalahan dalam Kode VBA?

Anda dapat mengunduh Template Excel Penanganan Kesalahan VBA ini di sini - Template Excel Penanganan Kesalahan VBA

Contoh 1

Untuk contoh pertama mari kita ambil kode pertama yang kita ambil sebagai demonstrasi. Pada contoh di atas, kita telah melihat bahwa kode tersebut memberikan kesalahan waktu proses pada fungsi msgbox kedua.

Tulis kode berikut setelah membuka subfungsi,

Kode:

 Sub Sampel () Pada Kesalahan Lanjutkan Berikutnya MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub 

Sekarang ketika kita mengeksekusi kode di atas kita melihat bahwa baris kode yang mengalami error tidak dieksekusi. Excel melewatkan baris itu dan melanjutkan di baris berikutnya.

Ada metode lain untuk menangani kesalahan tersebut adalah vba Goto Statement, kami menyediakan excel tujuan untuk dituju ketika menemukan kesalahan. Alih-alih kode penanganan kesalahan sebelumnya, kami memasukkan, tulis kode berikut,

Kode:

 Sub Sampel () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub 

Kami memberikan excel Az sebagai tujuan untuk dituju jika menemukan kesalahan. Sekarang setelah msgbox tulis kode lain seperti di bawah ini,

Kode:

 Sub Sampel () Pada Kesalahan GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Selesai: Keluar Sub 

Sekarang kita perlu mendefinisikan az tujuan sebagai apa yang harus dilakukan ketika excel menemukan kesalahan dalam kode.

Kode:

 Sub Contoh () Pada Kesalahan GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Selesai: Keluar Sub az: MsgBox "Ini adalah kesalahan" & Err.Description End Sub 

Sekarang ketika kita menjalankan kode ini kita melihat hasilnya ditampilkan.

Ini adalah hasil kotak pesan pertama dan seperti yang kita tahu bahwa kita memiliki kesalahan di baris berikutnya dari kode kita, mari kita lihat hasil yang akan diberikan oleh excel.

Deskripsi err. di atas dalam kode membantu kita untuk menunjukkan dengan tepat apa kesalahan yang telah terjadi dalam kode kita.

Contoh # 2

Kami telah belajar bagaimana menangani kesalahan dalam kode kami. Mari kita lihat contoh lain tentang cara menangani kesalahan. Pertimbangkan kode berikut sebagai contoh kedua kami.

Kami memiliki kesalahan yang agak mirip dari contoh 1. Kesalahan tersebut ada di baris d = i / b. Sekarang kita akan menangani kesalahan ini dengan menggunakan dua metode yang dijelaskan di atas.

Tulis kode berikut setelah membuka subfungsi,

Kode:

 Sub Sample2 () On Error Resume Selanjutnya bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d End Sub 

Sekarang ketika kita menjalankan kode kita, kita dapat melihat bahwa itu mengabaikan baris kedua dan hanya menampilkan nilai C.

Penangan kesalahan di atas adalah resume berikutnya, sekarang kita akan menggunakan Go to dimana kita akan memberi tahu excel tujuan yang harus dituju ketika menemui kesalahan. Tuliskan kode berikut,

Kode:

 Sub Sample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d

Bx adalah tujuan yang diberikan ketika menemukan kesalahan setelah msgbox D menuliskan kode berikut,

Kode:

 Sub Sample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Exit Sub 

Now we need to define the destination Bx what it should do when it encounters an error, So write down the following code,

Code:

 Sub Sample2() On Error GoTo bx Dim i As Integer , b As Integer , c As Integer , d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub bx: MsgBox " This is another Error " & Err.Description End Sub 

Now when we execute the code we can see that excel first gives us the value for C.

Now in another step, it will give us the prompt we provided it when it encounters an error.

This is how we handle the normal runtime errors in Excel VBA.

Things to Remember

There are a few things we need to remember about Error Handling:

  1. On Error Resume Next Ignores the error.
  2. On Error GoTo Gives excel a destination when it encounters an error.
  3. The description is used to show the exact error occurred to the user.