Penanganan Error VBA - Panduan untuk Penanganan Kesalahan di Excel VBA

Penanganan Kesalahan VBA Excel

Di VBA ketika kita bekerja dengan kode, kita mungkin mengalami banyak jenis kesalahan dan cara memecahkan masalah 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 mengeksekusi rangkaian kode apa pun, kami mendapatkan semacam kesalahan. Beberapa dari kesalahan ini adalah kesalahan sintaks; beberapa adalah kesalahan yang tidak bisa dijalankan. Kesalahan sintaks adalah ketika dibuat oleh pengguna disorot dengan warna merah oleh excel itu sendiri. Tetapi ketika ada jenis kesalahan waktu proses 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 dijalankan, akan mengembalikan apa yang tertulis di fungsi msgbox. Tapi seperti yang bisa kita lihat bahwa di baris kedua kode, ada 4/0, yang tidak mungkin dalam istilah matematika, sehingga akan mengembalikan kesalahan waktu proses. Mari kita jalankan kode di atas dan lihat kesalahan yang akan kita dapatkan.

Ini adalah kesalahan yang kami dapatkan saat menjalankan kode yang diberikan. Nah bagaimana cara kita menangani error ini dilakukan oleh Error Handling.

Ada dua metode untuk menangani kesalahan yaitu:

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

Penjelasan

Seperti yang dijelaskan di atas, kami mendapatkan banyak jenis error di VBA. Beberapa sintaks, dan beberapa 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 sekumpulan instruksi tertentu. Untuk melakukan tugas seperti itu, kita perlu memberikan instruksi, dan ini disebut Penanganan Kesalahan.

Bagaimana Menangani Kesalahan dalam Kode VBA?

Contoh 1

Untuk contoh pertama, mari kita ambil kode pertama yang kita ambil sebagai demonstrasi. Dalam 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 melompati baris itu dan melanjutkan di baris berikutnya.

Ada metode lain untuk menangani error tersebut adalah VBA Goto Statement. Kami menyediakan excel sebagai tujuan yang harus 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 pada 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 Berikutnya 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

Now when we execute our code, we can see that it ignores the second line and just displays the value for C.

The above error handler was a resume next, and now we will use the Go to wherein we will tell we excel a destination to go when it encounters an error. 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

The bx is a destination given when it encounters an error after msgbox D 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

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 cd = i / b MsgBox d DOne: Exit Sub bx: MsgBox "Ini adalah Kesalahan lain" & Sub Akhir Deskripsi Err

Sekarang ketika kita mengeksekusi kodenya, kita dapat melihat bahwa excel memberi kita nilai untuk C.

Sekarang di langkah lain, itu akan memberi kita prompt yang kita berikan ketika menemukan kesalahan.

Ini adalah cara kami menangani kesalahan runtime normal di Excel VBA.

Hal-hal untuk diingat

Ada beberapa hal yang perlu kita ingat tentang Penanganan Error:

  1. Pada Error Resume Next, Abaikan kesalahan.
  2. On Error GoTo Gives excel tujuan ketika menemukan kesalahan.
  3. Deskripsi digunakan untuk menunjukkan kesalahan yang sebenarnya terjadi pada pengguna.

Artikel yang menarik...