{"id":1522,"date":"2023-11-18T02:08:34","date_gmt":"2023-11-18T02:08:34","guid":{"rendered":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/"},"modified":"2023-12-06T06:20:20","modified_gmt":"2023-12-06T06:20:20","slug":"penanganan-kesalahan","status":"publish","type":"page","link":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/","title":{"rendered":"Jenis kesalahan vba: debugging dan solusi"},"content":{"rendered":"<div class=\"excel-before-content\" id=\"excel-2761091268\"><script type=\"text\/javascript\">\r\n\tatOptions = {\r\n\t\t'key' : 'c1158f160081d6540a8409e6925dab94',\r\n\t\t'format' : 'iframe',\r\n\t\t'height' : 250,\r\n\t\t'width' : 300,\r\n\t\t'params' : {}\r\n\t};\r\n<\/script>\r\n<script type=\"text\/javascript\" src=\"\/\/www.highperformanceformat.com\/c1158f160081d6540a8409e6925dab94\/invoke.js\"><\/script><\/div> <p>Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi. Kesalahan tersebut dapat berasal dari berbagai sumber, seperti pengkodean yang buruk, operasi yang tidak mungkin dilakukan (seperti membagi dengan nol), atau kesalahan yang tidak terduga.<\/p><p> Cara terbaik untuk menangani hal ini adalah dengan memiliki pemahaman yang baik tentang semua kemungkinan hasil yang dapat Anda capai dengan kode tersebut. Lihat contoh di bawah ini di mana kita memiliki kode VBA yang menghitung akar kuadrat dari suatu bilangan menggunakan nilai yang Anda miliki di sel yang dipilih.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub Square_Root() ActiveCell. <strong>Value<\/strong> = ActiveCell. <strong>Value<\/strong> ^ (1 \/ 2) <strong>End<\/strong> Sub<\/code><\/pre><p> Namun jika sel aktif memiliki nilai selain angka, Anda akan mendapatkan error runtime, seperti di bawah ini. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58225\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png\" sizes=\"auto, \" srcset=\"\" alt=\"kesalahan waktu proses\" width=\"531\" height=\"361\"><\/figure><\/div><h2 class=\"wp-block-heading\"> Parameter Kesalahan di VBA (Error Catching)<\/h2><p> Dalam opsi VBA, Anda dapat mengonfigurasi pengaturan untuk menangani kesalahan sebelum Anda mulai menulis kode. Untuk membuka pengaturan VBA, buka Tools \u27a4 Options \u27a4 General \u27a4 Error Catching. Di sini Anda memiliki tiga opsi yang dapat Anda gunakan. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58226\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/02-parametres-derreur-dans-vba.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"532\" height=\"336\"><\/figure><\/div><ul><li> <strong>Hentikan semua kesalahan<\/strong> : Jika Anda telah mengaktifkan opsi ini, VBA akan menghentikan kode untuk semua jenis kesalahan meskipun Anda telah menggunakan semua jenis teknik penanganan kesalahan.<\/li><li> <strong>Modul Kelas Tampering<\/strong> : Dengan opsi ini, VBA akan menghentikan semua kode Anda yang tidak ditangani oleh teknik apa pun. Dan jika Anda menggunakan objek seperti Userforms, itu juga akan membobol objek tersebut dan menyorot baris persis di mana kesalahannya berada.<\/li><li> <strong>Break on Unhandled Errors<\/strong> : Ini adalah pengaturan default yang membantu Anda mengetahui semua kesalahan yang tidak Anda gunakan teknik penanganan kesalahannya dan menghentikan kode untuk semua kesalahan yang tidak tertangani. (Tetapi, jika Anda menggunakan objek seperti Userforms, ini tidak akan menyorot baris yang menyebabkan kesalahan pada objek, tetapi hanya akan menyorot baris yang mereferensikan objek tersebut).<\/li><\/ul><h2 class=\"wp-block-heading\"> Jenis Kesalahan VBA<\/h2><p> Untuk memahami error VBA, Anda dapat membaginya menjadi empat kategori, dan berikut penjelasan mengenai jenis error tersebut.<\/p><h3 class=\"wp-block-heading\"> 1. Kesalahan sintaksis<\/h3><p> Saat menulis kode VBA, Anda harus mengikuti sintaks tertentu dan ketika Anda mengabaikannya atau tidak menulisnya sebagaimana mestinya, Anda mungkin menghadapi kesalahan SYNTAX (juga dikenal sebagai kesalahan bahasa). Ini seperti kesalahan ketik yang Anda buat saat menulis kode.<\/p><p> Nah, VBA membantu Anda dengan melaporkan kesalahan tersebut dengan menampilkan pesan kesalahan. Anda hanya perlu memastikan &#8220;Pemeriksaan Sintaks Otomatis&#8221; diaktifkan di editor VB Anda.<\/p><p> Buka Alat \u27a4 Opsi dan pastikan untuk mencentang kotak \u201cPemeriksaan sintaksis otomatis\u201d. Dengan ini, setiap kali Anda membuat kesalahan SYNTAX, VBA menampilkan pesan kesalahan. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58227\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/03-erreur-de-syntaxe.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"533\" height=\"336\"><\/figure><\/div><p> Namun jika &#8220;Pemeriksaan Sintaks Otomatis&#8221; dinonaktifkan, VBA tetap menyorot baris kode yang mengalami kesalahan tetapi tidak menampilkan pesan kesalahan.<\/p><h3 class=\"wp-block-heading\"> 2. Kesalahan kompilasi<\/h3><p> Hal ini terjadi ketika Anda menulis kode untuk melakukan suatu aktivitas, namun aktivitas tersebut tidak valid atau tidak dapat dilakukan oleh VBA. Contoh terbaiknya adalah ketika Anda memiliki beberapa kode menggunakan pernyataan IF tetapi Anda melewatkan menambahkan END IF di akhir pernyataan dan sekarang ketika Anda menjalankan VBA ini Anda menampilkan pesan kesalahan kompilasi. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58228\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/04-erreur-de-compilation.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"500\" height=\"251\"><\/figure><\/div><p> Selain itu, ada contoh kesalahan kompilasi lainnya:<\/p><ul><li> Menggunakan Untuk tanpa Berikutnya ( <a href=\"https:\/\/exceladvisor.org\/id\/untuk-lingkaran\/\">Untuk Berikutnya<\/a> ).<\/li><li> Pilih tanpa memilih akhir ( <a href=\"https:\/\/exceladvisor.org\/id\/pilih-kasusnya\/\">Select case<\/a> ).<\/li><li> Jangan mendeklarasikan variabel ketika Anda telah mengaktifkan \u201c <a href=\"https:\/\/exceladvisor.org\/id\/opsi-eksplisit-2\/\">Opsi Eksplisit<\/a> \u201d.<\/li><li> Memanggil sub\/fungsi yang tidak ada.<\/li><\/ul><h3 class=\"wp-block-heading\"> 3. Kesalahan Waktu Proses<\/h3><p> Kesalahan runtime terjadi ketika kode dijalankan. Ingat contoh yang saya bagikan kepada Anda di atas ketika kode menghitung akar kuadrat suatu bilangan. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58229\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/05-erreur-dexecution-lors-de-lexecution-du-code.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"547\" height=\"372\"><\/figure><\/div><p> Ketika kesalahan runtime terjadi saat menjalankan kode, itu menghentikan kode dan menampilkan kotak dialog kesalahan dan kotak kesalahan ini berbicara tentang sifat kesalahan yang Anda alami. Misalkan Anda menulis kode yang <a href=\"https:\/\/exceladvisor.org\/id\/lemari-arsip-terbuka\/\">membuka buku kerja<\/a> dari lokasi yang Anda tentukan, namun buku kerja tersebut kini dipindahkan atau dihapus oleh seseorang. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58178\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/6-vba-affiche-une-erreur-dexecution.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"452\" height=\"149\"><\/figure><\/div><p> Jadi ketika Anda menjalankan kodenya, VBA akan menampilkan kesalahan runtime karena tidak dapat menemukan file ini di lokasi ini. Pesan yang Anda dapatkan dalam kesalahan runtime menjelaskan alasan yang membantu Anda memahami alasan kesalahan tersebut. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58179\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/7-erreur-dexecution-1004.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"381\" height=\"215\"><\/figure><\/div><p> Dan ketika terjadi kesalahan runtime, eksekusi kode akan dihentikan. Jika Anda mengklik tombol &#8220;Debug&#8221;, baris kode yang berisi kesalahan ini akan ditampilkan dengan menyorotnya dengan warna kuning. Atau Anda dapat mengklik tombol \u201cEnd\u201d untuk menghentikan eksekusi kode dan menutup pesan kesalahan.<\/p><h3 class=\"wp-block-heading\"> 4. Kesalahan logis<\/h3><p> Ini bukan kesalahan tapi kesalahan saat menulis kode. Jenis kesalahan ini terkadang dapat membuat Anda kesulitan saat menemukan dan memperbaikinya.<\/p><p> Misalkan Anda sedang menulis beberapa kode dan ketika mendeklarasikan suatu variabel Anda menggunakan <a href=\"https:\/\/exceladvisor.org\/id\/variabel\/\">tipe data<\/a> yang salah atau Anda menggunakan langkah perhitungan yang salah. Dalam hal ini kode Anda akan berfungsi dengan baik dan Anda tidak akan menemukan kesalahan ini dengan mudah. Cara terbaik untuk mengatasi masalah seperti ini adalah dengan menjalankan setiap baris kode satu per satu.<\/p><h2 class=\"wp-block-heading\"> Menggunakan Alat Debugging di VBA<\/h2><p> VBA memberi Anda seperangkat alat untuk men-debug kode Anda dan menghapus bug dari kode Anda.<\/p><h3 class=\"wp-block-heading\"> 1. Kompilasi proyek VBA<\/h3><p> Di Visual Basic Editor, ada opsi yang dapat Anda gunakan langsung setelah menyelesaikan kode Anda. Opsi kompilasi ini menganalisis setiap baris kode Anda dan menampilkan kotak pesan jika ada kesalahan dalam kode Anda.<\/p><p class=\"qt-tip\"> <strong>Catatan:<\/strong> Opsi Kompilasi VBA hanya melacak kesalahan sintaksis dan kompilasi, bukan kesalahan runtime, karena kesalahan ini hanya terjadi ketika kode sedang berjalan. Untuk menggunakan Kompilasi Proyek VBA, buka \u27a4 Debug \u27a4 Kompilasi Proyek VBA. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58232\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/08-compiler-le-projet-vba.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"366\" height=\"352\"><\/figure><\/div><p> Setelah Anda menjalankan &#8220;Kompilasi Proyek VBA&#8221; dan tidak ada kesalahan dalam kode Anda, opsinya akan berwarna abu-abu.<\/p><h3 class=\"wp-block-heading\"> 2. Jalankan setiap baris kode satu per satu<\/h3><p> Inilah cara saya melakukannya. Ketika saya menyelesaikan sebuah kode, saya cukup menjalankannya baris demi baris untuk memeriksa apakah ada kesalahan. Ini mungkin memerlukan waktu, tetapi ini membantu Anda mengatasi semua kesalahan (sintaks, kompilasi, dan eksekusi).<\/p><p> Pada &#8220;Debug Toolbar&#8221; terdapat tombol &#8220;Step In&#8221; yang dapat Anda gunakan untuk menjalankan kode baris demi baris atau Anda cukup menekan F8 untuk menjalankan satu baris lalu tekan lagi untuk menjalankan baris berikutnya dalam kode. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-58233\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/09-executer-chaque-ligne-de-code.png\" sizes=\"auto, \" srcset=\"\" alt=\"\" width=\"338\" height=\"387\"><\/figure><\/div><h2 class=\"wp-block-heading\"> Menggunakan Pernyataan \u201cOn ERROR\u201d untuk Menangani Kesalahan VBA<\/h2><p> Penting untuk memeriksa kode Anda dan menemukan kemungkinan kesalahan di semua metode debugging yang Anda miliki. Namun cara terbaik dan efisien adalah dengan membuat instruksi penanganan error yang dapat menangani error dan membuat kode Anda sempurna saat dijalankan. Mari kita telusuri pernyataan-pernyataan ini. Ketika kesalahan terjadi pada kode VBA, cara terbaik untuk menangani kesalahan ini adalah:<\/p><ul><li> Biarkan VBA mengabaikan kesalahan dan menjalankan kodenya<\/li><li> Biarkan serangkaian instruksi khusus dijalankan ketika terjadi kesalahan.<\/li><\/ul><p> Di kedua solusi, Anda dapat menggunakan pernyataan &#8220;On Error&#8221;. Berikut adalah empat pernyataan \u201cOn Error\u201d yang dapat Anda gunakan. Dan sekarang mari kita lihat setiap pernyataan satu per satu.<\/p><h3 class=\"wp-block-heading\"> 1. Jika Anda melakukan kesalahan, mulai lagi<\/h3><p> Baris kode sederhana ini memungkinkan VBA untuk terus mengeksekusi kode meskipun terjadi kesalahan. <strong>IDEnya sederhana:<\/strong> pindah ke baris kode berikutnya jika kesalahan terdeteksi di mana saja selama eksekusi.<\/p><p> Pada kode di bawah ini, Anda memiliki dua baris kode:<\/p><ul><li> Baris pertama menunjukkan nilai pada sel A1 adalah 25 dibagi 0<\/li><li> Dan baris kedua mengatakan bahwa nilai sel A2 adalah 10 dibagi 5<\/li><\/ul><p> Sekarang ada masalah dengan kode yang Anda miliki online. Seperti yang Anda ketahui, jika Anda membagi sesuatu dengan 0, hasilnya akan menjadi kesalahan. Jadi ketika Anda menjalankan kode ini, VBA menampilkan pesan kesalahan <strong>&#8220;Runtime error &#8217;11&#8217; Divide by zero&#8221;<\/strong> dan menghentikan eksekusi.<\/p><p> Namun ketika Anda menambahkan &#8220;On Error Resume Next&#8221; di awal kode dan menjalankan kode, VBA mengabaikan baris kode tempat kesalahan terjadi dan melanjutkan ke baris kedua dan menambahkan nilai tersebut di sel A2.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub myDivide() <strong>On<\/strong> Error Resume <strong>Next<\/strong> <strong>Range<\/strong> (\"A1\"). <strong>Value<\/strong> = 25 \/ 0 <strong>Range<\/strong> (\"A2\"). <strong>Value<\/strong> = 10 \/ 5 <strong>End<\/strong> Sub<\/code><\/pre><p> Jadi, kapan pun Anda ingin kode Anda berjalan meskipun terjadi kesalahan di mana pun, cukup gunakan pernyataan \u201cOn Error Resume Next\u201d di kode Anda.<\/p><p> <strong>Namun ada satu hal lagi yang harus Anda perhatikan:<\/strong> ini hanya akan mengabaikan kesalahan yang terjadi setelahnya.<\/p><p> Katakanlah kesalahan terjadi pada baris 5 dan Anda menambahkan &#8220;On Error Resume Next&#8221; pada baris 8, kesalahan ini tidak akan dilewati. Jadi, cara terbaik adalah menambahkannya sebagai baris kode pertama dalam prosedur.<\/p><h3 class=\"wp-block-heading\"> 2. Jika terjadi kesalahan GoTo 0<\/h3><p> Ini adalah perilaku default VBA yang ketika terjadi kesalahan, ia menghentikan eksekusi kode.<\/p><p> Ya, menggunakan \u201cOn Error GoTo 0\u2033 tidak membuat perbedaan pada kode Anda. VBA hanya akan menghentikan kode dan menampilkan pesan dengan deskripsi kesalahan. Jadi mengapa saya harus repot-repot menggunakannya? Pertanyaan cerdas. Mari kita gunakan contoh yang Anda gunakan di atas dalam &#8221; <strong>On Error Resume Next<\/strong> &#8220;.<\/p><p> Dalam kode ini, setiap kali terjadi kesalahan, VBA mengambil baris kode berikutnya dan mengeksekusinya dan Anda tidak akan melihat pesan kesalahan apa pun. Namun katakanlah Anda memiliki lebih banyak baris dalam kode Anda dan Anda tidak ingin melebihi baris tersebut jika ada kesalahan dalam kode.<\/p><p> Jadi, jika Anda memasukkan <strong>&#8220;On Error GoTo 0&#8221;<\/strong> setelah baris kode kedua, ini akan mengembalikan penangan kesalahan default VBA yang menampilkan pesan kesalahan setiap kali terjadi kesalahan.<\/p><h3 class=\"wp-block-heading\"> 3. Jika terjadi kesalahan GoTo [Label]<\/h3><p> Bayangkan sebuah tempat di gedung yang dapat Anda datangi dalam keadaan darurat. Demikian pula, dengan menggunakan &#8220;On Error GoTo [Label]&#8221;, Anda cukup membuat blok kode terpisah di kode utama Anda untuk menangani kesalahan.<\/p><p> Faktanya, \u201cOn Error GoTo [Label]\u201d adalah cara yang jauh lebih baik dan nyaman untuk menangani kesalahan. Pada kode di bawah ini Anda memiliki &#8220;On Error GoTo Oh!&#8221; Error\u201d sekarang di baris deklarasi ini, kata \u201cOh!\u201d Kesalahan\u201d adalah labelnya.<\/p><p> Jika Anda melihat di akhir kode di mana Anda memiliki awalan tertentu dengan nama label dan kemudian kode untuk kotak pesan dengan pesan di kode tersebut.<\/p><p> Nah apa jadinya jika terjadi error maka VBA akan loncat ke label \u201cOh! Error\u201d dan akan mengeksekusi blok kode yang Anda miliki setelah label itu.<\/p><p> <strong>Namun ada satu hal yang perlu Anda perhatikan:<\/strong> jika kesalahan tidak terjadi, label yang Anda miliki di kode Anda akan dieksekusi. Ada dua hal yang perlu Anda lakukan:<\/p><ul><li> Pertama, pastikan Anda menambahkan tag kesalahan di akhir kode.<\/li><li> Kedua, tambahkan &#8220;Exit Sub&#8221; sebelum label kesalahan.<\/li><\/ul><p> Dengan ini, Anda akan mendapatkan keuntungan dalam kedua situasi tersebut. Katakanlah jika terjadi kesalahan dan VBA beralih ke label yang Anda tentukan, hanya akan ada kode dari label itu sendiri ke kode. Dan jika kesalahan tidak terjadi, pernyataan &#8220;Keluar Sub&#8221; yang Anda miliki sebelum label akan keluar dari prosedur tanpa menjalankan label kesalahan.<\/p><h3 class=\"wp-block-heading\"> 4. Jika terjadi kesalahan GoTo -1<\/h3><p> Sebelum kita membahas ini, izinkan saya berbagi sesuatu dengan Anda. Ketika kesalahan terjadi pada suatu kode, VBA menyimpan log kesalahan ini di memorinya dan hanya menghapusnya ketika rutinitas selesai.<\/p><p> <strong>Wahai VBA! Hiduplah di masa sekarang<\/strong><\/p><p> Untuk menangani kesalahan kedua dalam kode VBA, Anda harus menghapus kesalahan pertama dari memori VBA. Pada kode di bawah ini, Anda memiliki dua pernyataan &#8220;On Error GoTo [Label]&#8221; yang menangani kesalahan dari dua blok kode berbeda.<\/p><p> Tetapi jika Anda menjalankan kode ini, ketika kesalahan kedua VBA tidak akan melompat ke label yang Anda tetapkan dan malah akan menampilkan pesan kesalahan &#8220;Jenis Tidak Cocok&#8221;.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub Square_Root() <strong>On<\/strong> Error GoTo myError1 <strong>Range<\/strong> (\"A1\"). <strong>Value<\/strong> = <strong>Range<\/strong> (\"A1\"). <strong>Value<\/strong> ^ (1 \/ 2) myError1: MsgBox \"There's some problem with the value you have in the cell A1.\" <strong>On<\/strong> Error GoTo myError2 <strong>Range<\/strong> (\"A2\"). <strong>Value<\/strong> = <strong>Range<\/strong> (\"A2\"). <strong>Value<\/strong> ^ (1 \/ 2) myError2: MsgBox \"There's some problem with the value you have in the cell A2.\" <strong>End<\/strong> Sub<\/code><\/pre><p> Untuk mengatasi masalah ini, Anda dapat menggunakan \u201cOn Error GoTo -1\u201d yang memungkinkan VBA menghapus kesalahan saat ini dari penyimpanannya.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub Square_Root() On Error GoTo myError1 Range(\"A1\").Value = Range(\"A1\").Value ^ (1 \/ 2) myError1: MsgBox \"There's some problem with the value you have in the cell A1.\" On Error GoTo -1 On Error GoTo myError2 Range(\"A2\").Value = Range(\"A2\").Value ^ (1 \/ 2) myError2: MsgBox \"There's some problem with the value you have in the cell A2.\" End Sub<\/code><\/pre><p> Sekarang ketika Anda menjalankan kode ini, &#8220;On Error GoTo -1&#8221; menghapus kesalahan dari memori dan VBA menangani kesalahan dalam pernyataan kedua sesuai keinginan.<\/p><h2 class=\"wp-block-heading\"> Apa lagi yang perlu saya ketahui untuk menangani kesalahan di VBA?<\/h2><p> Selain menggunakan teknik penanganan kesalahan, ada beberapa hal lain yang dapat Anda gunakan untuk menangani kesalahan dengan lebih baik.<\/p><h3 class=\"wp-block-heading\"> Kesalahan objek<\/h3><p> Ketika kesalahan terjadi saat menjalankan kode, Anda dapat menggunakan objek Err untuk mendapatkan detail tentang kesalahan tersebut. Ada beberapa properti dan metode yang dapat Anda gunakan dengan objek Err. Mari kita pelajari satu per satu.<\/p><h4 class=\"wp-block-heading\"> <strong>Properti<\/strong><\/h4><p> Berikut adalah properti yang dapat Anda gunakan dengan objek Err:<\/p><ul><li> <strong>Err.Number<\/strong> : Ketika terjadi kesalahan, nomor disimpan di objek Err. Pada kode di bawah ini, ketika itu terjadi, kotak pesan menampilkan nomor kesalahan.<\/li><li> <strong>Err.Description<\/strong> : Properti ini menampilkan deskripsi kesalahan yang dapat membantu Anda memahami alasan kesalahan tersebut.<\/li><li> <strong>Err.Source:<\/strong> Properti ini memberi tahu Anda di proyek mana kesalahan terjadi.<\/li><li> <strong>Err.HelpContext:<\/strong> Properti ini mengembalikan ID konteks bantuan untuk kesalahan dalam file bantuan.<\/li><li> <strong>Err.HelpContext:<\/strong> Ini adalah nilai string untuk lokasi file bantuan.<\/li><\/ul><p> Biasanya, ketika Anda menangani kesalahan menggunakan teknik penanganan kesalahan, Anda tidak banyak menggunakan objek Err dalam kode Anda. Namun di bawah ini adalah contoh sederhana untuk menggunakannya.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\"><strong>Sub<\/strong> Square_Root() <strong>On<\/strong> <strong>Error<\/strong> <strong>GoTo<\/strong> myError1    Range(\"A1\").Value = Sqr(Range(\"A1\").Value) <strong>Exit<\/strong> <strong>Sub<\/strong> myError1:    MsgBox \"There's some problem with the value you have in the cell A1.\" &amp; vbCrLf &amp; _                \"Error Number: \" &amp; Err.Number  &amp; vbCrLf &amp; _                \"Error Description: \" &amp; Err.Description <strong>End<\/strong> <strong>Sub<\/strong><\/code><\/pre><p> Ketika Anda menjalankan kode di atas, dan jika terjadi kesalahan, maka akan muncul kotak pesan dengan nomor kesalahan dan deskripsi kesalahan.<\/p><h4 class=\"wp-block-heading\"> <strong>Metode<\/strong><\/h4><p> Dengan Err Object Anda juga dapat menggunakan dua metode.<\/p><ul><li> <strong>Err.Clear:<\/strong> Metode ini menghapus nomor kesalahan dan deskripsi kesalahan dari memori VBA (ini berbeda dengan \u201cOn Error GoTo -1\u201d karena tidak sepenuhnya mereset kesalahan).<\/li><li> <strong>Err.Raise:<\/strong> Dengan metode ini, Anda dapat <a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/vba\/language\/reference\/user-interface-help\/raise-method\" target=\"_blank\" rel=\"noreferrer noopener\">dengan sengaja membuat kesalahan runtime<\/a> dalam kode Anda, dan berikut sintaks yang harus diikuti:<\/li><\/ul><p> <strong>Err<\/strong> .Naikkan [angka], [sumber], [deskripsi], [file bantuan], [konteks bantuan]<\/p><h2 class=\"wp-block-heading\"> Tips Cepat Penanganan Kesalahan<\/h2><p> Berikut beberapa tip cepat yang dapat Anda gunakan untuk menangani kesalahan VBA dengan lebih baik.<\/p><ul><li> Gunakan &#8220;On Error Resume Next&#8221; hanya ketika Anda tahu pasti bahwa kesalahan sedang terjadi dan boleh saja melewatkan baris kode yang memiliki kesalahan dan aman untuk melanjutkan ke baris berikutnya.<\/li><li> Cara terbaik untuk mengatasi error runtime adalah dengan menggunakan &#8220;Error Handler&#8221; dengan &#8220;On Error GoTo [Label]&#8221;. Ini memastikan bahwa setiap kali kesalahan terjadi, Anda akan diberi tahu, tetapi pesan kesalahan buruk itu tidak akan ditampilkan.<\/li><li> Setiap kali Anda menggunakan error handler, pastikan untuk menggunakan &#8220;Exit Sub&#8221; terlebih dahulu.<\/li><\/ul><div class=\"gb-container gb-container-4db6181c gb-container-mt\"> <a class=\"gb-button gb-button-c5897111 gb-button-text gb-button-mt-button\" href=\"https:\/\/exceladvisor.org\/id\/vba\/\">Apa itu VBA<\/a><h2 class=\"gb-headline gb-headline-665e5f6b gb-headline-text gb-headline-mt-heading\"> Tutorial terkait <\/h2><div class=\"gb-grid-wrapper gb-grid-wrapper-a20baf7c gb-grid-wrapper-mt-grid\"><div class=\"gb-grid-column gb-grid-column-65ddf67e\"><\/div><div class=\"gb-grid-column gb-grid-column-50067b57\"><div class=\"gb-container gb-container-50067b57\"><ul><li> <a href=\"https:\/\/exceladvisor.org\/id\/kesalahan-meluap-6\/\">Kesalahan luapan VBA (Kesalahan 6)<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/id\/kesalahan-eksekusi-1004\/\">Kesalahan Waktu Proses VBA (Kesalahan 1004)<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/id\/kesalahan-indeks-di-luar-kisaran-9\/\">Kesalahan Eksekusi Indeks VBA Di Luar Jangkauan (Kesalahan 9)<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/id\/kesalahan-ketidakcocokan-tipe-13\/\">Kesalahan ketidakcocokan tipe VBA (Kesalahan 13)<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/id\/kesalahan-kehabisan-memori-7\/\">Kesalahan VBA Kehabisan Memori (Kesalahan 7)<\/a><\/li><\/ul><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-1522","page","type-page","status-publish","hentry"],"featured_image_src":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel<\/title>\n<meta name=\"description\" content=\"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel\" \/>\n<meta property=\"og:description\" content=\"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/\" \/>\n<meta property=\"og:site_name\" content=\"Excel Advisor\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-06T06:20:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/\",\"url\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/\",\"name\":\"Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel\",\"isPartOf\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png\",\"datePublished\":\"2023-11-18T02:08:34+00:00\",\"dateModified\":\"2023-12-06T06:20:20+00:00\",\"description\":\"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...\",\"breadcrumb\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage\",\"url\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rumah\",\"item\":\"https:\/\/exceladvisor.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jenis kesalahan vba: debugging dan solusi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/exceladvisor.org\/id\/#website\",\"url\":\"https:\/\/exceladvisor.org\/id\/\",\"name\":\"Excel Advisor\",\"description\":\"Panduan utama Anda untuk mendominasi data!\",\"publisher\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/exceladvisor.org\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/exceladvisor.org\/id\/#organization\",\"name\":\"Excel Advisor\",\"url\":\"https:\/\/exceladvisor.org\/id\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/exceladvisor.org\/id\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/exceladvisor.org\/id\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/id\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"width\":105,\"height\":36,\"caption\":\"Excel Advisor\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/id\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel","description":"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/","og_locale":"id_ID","og_type":"article","og_title":"Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel","og_description":"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...","og_url":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/","og_site_name":"Excel Advisor","article_modified_time":"2023-12-06T06:20:20+00:00","og_image":[{"url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Estimasi waktu membaca":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/","url":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/","name":"Jenis Kesalahan VBA: Debugging dan Solusi 2023 - Penasihat Excel","isPartOf":{"@id":"https:\/\/exceladvisor.org\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage"},"image":{"@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage"},"thumbnailUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png","datePublished":"2023-11-18T02:08:34+00:00","dateModified":"2023-12-06T06:20:20+00:00","description":"Seperti bahasa pemrograman lainnya, VBA tidak beruntung dalam hal kesalahan dan Anda harus mengatasinya apa pun yang terjadi...","breadcrumb":{"@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#primaryimage","url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png","contentUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/01-erreur-dexecution.png"},{"@type":"BreadcrumbList","@id":"https:\/\/exceladvisor.org\/id\/penanganan-kesalahan\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Rumah","item":"https:\/\/exceladvisor.org\/id\/"},{"@type":"ListItem","position":2,"name":"Jenis kesalahan vba: debugging dan solusi"}]},{"@type":"WebSite","@id":"https:\/\/exceladvisor.org\/id\/#website","url":"https:\/\/exceladvisor.org\/id\/","name":"Excel Advisor","description":"Panduan utama Anda untuk mendominasi data!","publisher":{"@id":"https:\/\/exceladvisor.org\/id\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exceladvisor.org\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/exceladvisor.org\/id\/#organization","name":"Excel Advisor","url":"https:\/\/exceladvisor.org\/id\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/exceladvisor.org\/id\/#\/schema\/logo\/image\/","url":"https:\/\/exceladvisor.org\/id\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","contentUrl":"https:\/\/exceladvisor.org\/id\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","width":105,"height":36,"caption":"Excel Advisor"},"image":{"@id":"https:\/\/exceladvisor.org\/id\/#\/schema\/logo\/image\/"}}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/pages\/1522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/comments?post=1522"}],"version-history":[{"count":1,"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/pages\/1522\/revisions"}],"predecessor-version":[{"id":2912,"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/pages\/1522\/revisions\/2912"}],"wp:attachment":[{"href":"https:\/\/exceladvisor.org\/id\/wp-json\/wp\/v2\/media?parent=1522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}