Pengendalian Ralat VBA

Pengendalian Ralat Excel VBA

Di VBA ketika kita bekerja dengan kod, kita mungkin menghadapi berbagai jenis ralat dan cara menyelesaikan masalah ini dikenali sebagai Ralat pengendalian, sekarang mungkin ada beberapa kesalahan yang dibuat dalam sintaks yang unggul sendiri yang menyoroti tetapi apabila ada beberapa kesalahan yang berada di luar jangkauan atau sesuatu yang tidak ada excel memberi kita pop up untuk perkara yang sama, penting untuk mengetahui kod ralat untuk kesalahan apa untuk mengenal pasti kesalahan dalam kod.

Dalam Excel VBA semasa menjalankan sekumpulan kod, kami mendapat beberapa kesalahan. Sebilangan kesalahan ini adalah kesalahan sintaks dan ada juga kesalahan yang tidak dapat dilaksanakan. Kesalahan sintaks adalah apabila dibuat oleh pengguna diserlahkan dengan warna merah dengan excel itu sendiri. Tetapi apabila terdapat ralat jangka masa berjalan lain bagaimana kita mengatasinya dan bagaimana kita melampaui ini adalah perkara yang akan kita bahas dalam artikel ini.

Selain daripada kesalahan sintaks, ralat waktu berjalan yang lain perlu ditangani semasa menjalankan sekumpulan kod. Pertama, izinkan saya memberi contoh bagaimana ralat runtime lain berlaku. Lihat kod di bawah ini,

Ini adalah contoh kod apabila dilaksanakan akan mengembalikan apa yang tertulis dalam fungsi msgbox. Tetapi seperti yang dapat kita lihat bahawa pada baris kedua kod tersebut ada 4/0 yang tidak mungkin dalam istilah matematik sehingga akan mengembalikan kesalahan masa berjalan. Marilah kita melaksanakan kod di atas dan melihat kesalahan yang akan kita perolehi.

Ini adalah kesilapan yang kita dapat semasa melaksanakan kod yang diberikan. Sekarang bagaimana kita menangani ralat ini dilakukan dengan Mengendalikan Ralat.

Terdapat dua kaedah untuk menangani kesalahan iaitu:

  1. Mengenai Kesalahan Goto, dan
  2. Pada Ralat Sambung Seterusnya.

Penjelasan

Seperti yang dijelaskan di atas, kita mendapat banyak jenis kesalahan dalam VBA, ada yang sintaks dan ada yang berjalan. Kesalahan sintaks sudah diserlahkan dalam warna Merah, sebagai contoh, rujuk tangkapan skrin di bawah,

Sementara yang lain adalah kesilapan masa berjalan. Pada dasarnya, excel akan melakukan tiga perkara berikut, sama ada akan menunjukkan kesalahan atau mengabaikan kesalahan itu atau akan menunjukkan set arahan tertentu. Untuk melaksanakan tugas seperti itu, kita perlu memberi arahan dan ini disebut Kesalahan Menangani.

Bagaimana Mengendalikan Kesalahan dalam Kod VBA?

Anda boleh memuat turun Templat Excel Mengendalikan Ralat VBA ini - Templat Excel Mengendalikan Ralat VBA

Contoh # 1

Sebagai contoh pertama mari kita mengambil kod pertama yang kita ambil sebagai demonstrasi. Dalam contoh di atas, kita telah melihat bahawa kod tersebut memberikan ralat masa berjalan pada fungsi msgbox kedua.

Tuliskan kod berikut setelah membuka subfungsi,

Kod:

 Sub Contoh () Pada Ralat Kesalahan Selanjutnya MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Akhir Sub 

Sekarang apabila kita melaksanakan kod di atas, kita melihat bahawa garis kod yang mempunyai kesalahan tidak dijalankan. Excel melangkau garis itu dan disambung semula pada baris seterusnya.

Terdapat kaedah lain untuk menangani ralat tersebut adalah vba Goto Statement, kami menyediakan destinasi excel untuk dikunjungi apabila menemui ralat. Daripada kod pengendalian ralat sebelumnya, kami memasukkan, menuliskan kod berikut,

Kod:

 Sub Contoh () Pada Kesalahan GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub 

Kami memberikan excel Az sebagai destinasi untuk dituju jika ia menemui kesilapan. Sekarang setelah kotak msg tulis kod lain seperti di bawah,

Kod:

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

Sekarang kita perlu menentukan az tujuan sebagai apa yang harus dilakukan ketika excel menemui kesalahan dalam kod.

Kod:

 Sub Contoh () Pada Kesalahan GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Selesai: Keluar Sub az: MsgBox "Ini adalah ralat" & Err.Deskripsi Akhir Sub 

Sekarang apabila kita menjalankan kod ini, kita melihat hasilnya dipaparkan.

Ini adalah hasil kotak msg pertama dan seperti yang kita ketahui bahawa kita mempunyai ralat pada baris seterusnya kod kita, mari kita lihat hasilnya apa yang akan diberikan oleh excel.

Huraian err di atas dalam kod membantu kami menunjukkan dengan tepat apa kesalahan yang berlaku dalam kod kami.

Contoh # 2

Kami telah belajar bagaimana menangani kesilapan dalam kod kami. Mari kita lihat contoh lain bagaimana menangani kesilapan. Pertimbangkan kod berikut sebagai contoh kedua kami.

Kami mempunyai ralat yang agak serupa dari contoh 1. Kesalahan itu berada dalam baris d = i / b. Sekarang kita akan menangani kesilapan ini dengan menggunakan dua kaedah yang dijelaskan di atas.

Tuliskan kod berikut setelah membuka subfungsi,

Kod:

 Sub Sampel2 () Pada Kesalahan 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 apabila kita melaksanakan kod kita, kita dapat melihat bahawa ia mengabaikan baris kedua dan hanya memaparkan nilai untuk C.

Penangan ralat di atas adalah resume seterusnya, sekarang kita akan menggunakan Pergi ke mana kita akan memberitahu excel destinasi yang harus dituju ketika menghadapi ralat. Tuliskan kod berikut,

Kod:

 Sub Contoh2 () Pada Kesalahan 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 menghadapi ralat setelah msgbox D menuliskan kod berikut,

Kod:

 Sub Contoh2 () Pada Kesalahan 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 

Sekarang kita perlu menentukan tujuan Bx apa yang harus dilakukan ketika menghadapi ralat, Oleh itu tuliskan kod berikut,

Kod:

 Sub Contoh2 () Pada Kesalahan 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 Kesalahan yang Lain" & Err.Deskripsi Akhir Sub 

Sekarang apabila kita melaksanakan kod, kita dapat melihat bahawa excel terlebih dahulu memberi kita nilai untuk C.

Sekarang dalam langkah lain, ini akan memberi kita arahan yang kami berikan ketika menghadapi ralat.

Ini adalah bagaimana kita menangani ralat runtime biasa di Excel VBA.

Perkara yang Perlu Diingat

Terdapat beberapa perkara yang perlu kita ingat mengenai Pengendalian Ralat:

  1. On Resume Resume Next Mengabaikan ralat.
  2. On Error GoTo Gives unggul destinasi ketika menghadapi ralat.
  3. Keterangan digunakan untuk menunjukkan kesalahan yang sebenarnya berlaku kepada pengguna.