Rumah Media Sosial Bagaimana Menggunakan Pernyataan OnError di Excel 2016 VBA - dummies

Bagaimana Menggunakan Pernyataan OnError di Excel 2016 VBA - dummies

Daftar Isi:

Video: Week 8, continued 2024

Video: Week 8, continued 2024
Anonim

Bila Anda perlu mengatasi kesalahan dalam Excel VBA, Anda dapat menggunakan pernyataan OnError. Namun, ada beberapa hal yang perlu Anda ketahui terlebih dahulu. Anda dapat menggunakan pernyataan On Error dalam tiga cara.

Sintaks Apa Itu
Pada Label Kesalahan GoTo Setelah mengeksekusi pernyataan ini, VBA melanjutkan eksekusi pada pernyataan

setelah label yang ditentukan. Anda harus menyertakan titik dua

setelah label sehingga VBA mengenalinya sebagai label.

Pada Error GoTo 0 Setelah mengeksekusi pernyataan ini, VBA melanjutkan perilaku pemeriksaan error

yang normal. Gunakan pernyataan ini setelah menggunakan salah satu dari

laporan On Error lainnya atau bila Anda ingin menghapus penanganan kesalahan

dalam prosedur Anda.

Pada Error Resume Next Setelah mengeksekusi pernyataan ini, VBA mengabaikan semua kesalahan

dan melanjutkan eksekusi dengan pernyataan berikutnya.

Melanjutkan setelah kesalahan

Dalam beberapa kasus, Anda hanya ingin rutinitas berakhir dengan anggun saat terjadi kesalahan. Misalnya, Anda mungkin menampilkan pesan yang menjelaskan kesalahan dan kemudian keluar dari prosedur. (Contoh EnterSquareRoot5 yang ditunjukkan sebelumnya menggunakan teknik ini.) Dalam kasus lain, Anda ingin pulih dari kesalahan, jika memungkinkan.

Untuk pulih dari kesalahan, Anda harus menggunakan pernyataan Resume. Ini membersihkan kondisi kesalahan dan memungkinkan Anda melanjutkan eksekusi di beberapa lokasi. Anda bisa menggunakan pernyataan Resume dengan tiga cara.

Sintaks Apa Itu
Resume Eksekusi dilanjutkan dengan pernyataan yang menyebabkan kesalahan tersebut. Gunakan

ini jika kode penanganan kesalahan Anda memperbaiki masalah dan

tidak apa-apa untuk melanjutkan.

Resume Next Eksekusi dilanjutkan dengan pernyataan segera setelah pernyataan

yang menyebabkan kesalahan. Ini pada dasarnya mengabaikan kesalahan

.

Lanjutkan label Eksekusi dilanjutkan di label yang Anda tentukan.

Contoh berikut menggunakan pernyataan Resume setelah terjadi kesalahan:

Sub EnterSquareRoot6 () Dim Num Sebagai Variant Dim Msg Sebagai String Dim Ans Sebagai Integer TryAgain: 'Set up error handling On Error GoTo BadEntry 'Prompt untuk nilai Num = InputBox ("Enter a value") If Num = "" Then Exit Sub' Masukkan akar kuadrat ActiveCell. Nilai = Sqr (Num) Keluar dari Sub BadEntry: Msg = Err. Nomor & ":" & Kesalahan (Nomor Err) Msg = Msg & vbNewLine & vbNewLine Msg = Msg & "Pastikan kisaran dipilih," Msg = Msg & "lembar tidak terlindungi," Msg = Msg & "dan Anda memasukkan nilai nonnegatif. "Msg = Msg & vbNewLine & vbNewLine &" Coba lagi? "Ans = MsgBox (Msg, vbYesNo + vbCritical) Jika Ans = vbYes Kemudian Lanjutkan TryAgain End Sub

Prosedur ini memiliki label lain: TryAgain.Jika terjadi kesalahan, eksekusi berlanjut ke label BadEntry, dan kode akan menampilkan pesan di bawah ini. Jika pengguna merespons dengan mengklik Yes, maka Resume akan muncul, dan eksekusi kembali ke label TryAgain. Jika pengguna mengklik Tidak, prosedurnya akan berakhir.

Jika terjadi kesalahan, pengguna dapat memutuskan apakah akan mencoba lagi.

Perhatikan bahwa pesan kesalahan juga menyertakan nomor kesalahan, beserta deskripsi kesalahan "resmi".

Pernyataan Resume membersihkan kondisi kesalahan sebelum melanjutkan. Untuk melihat ini, coba ganti pernyataan berikut untuk pernyataan kedua sampai terakhir dalam contoh sebelumnya:

If Ans = vbYes Then GoTo TryAgain

Kode tidak bekerja dengan benar jika Anda menggunakan GoTo daripada Lanjutkan. Untuk menunjukkan, masukkan angka negatif. Anda mendapatkan error prompt. Klik Ya untuk mencoba lagi dan kemudian masukkan nomor negatif yang lain. Kesalahan kedua ini tidak terjebak karena kondisi error asli tidak dibersihkan.

Error handling in a nutshell

Untuk membantu Anda menjaga semua bisnis penanganan kesalahan ini lurus, inilah ringkasan cepat dan kotor. Blok kode penanganan kesalahan memiliki karakteristik berikut:

  • Ini dimulai segera setelah label yang ditentukan dalam pernyataan On Error.

  • Itu harus dicapai hanya dengan makro Anda jika terjadi kesalahan. Ini berarti Anda harus menggunakan pernyataan seperti Exit Sub atau Exit Function segera sebelum label.

  • Ini mungkin memerlukan pernyataan Resume. Jika Anda memilih untuk tidak membatalkan prosedur saat terjadi kesalahan, Anda harus menjalankan pernyataan Resume sebelum kembali ke kode utama.

Mengetahui kapan harus mengabaikan kesalahan

Dalam beberapa kasus, tidak masalah mengabaikan kesalahan. Saat itulah On Error Resume Next statement ikut bermain. Contoh berikut loop melalui setiap sel dalam rentang yang dipilih dan mengubah nilai ke akar kuadratnya. Prosedur ini menghasilkan pesan kesalahan jika ada sel dalam seleksi yang berisi angka atau teks negatif:

Sub SelectionSqrt () Dim cell As Range Jika TypeName (Selection) <> "range" Lalu Exit Sub Untuk Setiap Sel Sel Sel Selesai. Value = Sqr (sel Value) Next sel End Sub

Dalam kasus ini, Anda mungkin ingin melewatkan sel yang mengandung nilai yang tidak dapat dikonversi ke akar kuadrat. Anda dapat membuat segala macam kemampuan untuk memeriksa kesalahan dengan menggunakan struktur If-Then, namun Anda dapat merancang solusi yang lebih baik (dan sederhana) dengan hanya mengabaikan kesalahan yang terjadi.

Rutin berikut ini menyelesaikannya dengan menggunakan pernyataan On Error Resume Next:

Sub SelectionSqrt () Dim cell As Range Jika TypeName (Selection) <> "range" Lalu Exit Sub On Error Resume Next Untuk Setiap Sel Dalam Seleksi sel. Value = Sqr (sel Value) Next sel End Sub

Secara umum, Anda dapat menggunakan pernyataan On Error Resume Next jika Anda menganggap kesalahan itu tidak berbahaya atau tidak penting untuk tugas Anda.
Bagaimana Menggunakan Pernyataan OnError di Excel 2016 VBA - dummies

Pilihan Editor

Bagaimana Menemukan Individu dalam Indeks Langganan - dummies

Bagaimana Menemukan Individu dalam Indeks Langganan - dummies

Sejumlah situs berlangganan berisi indeks sensus yang terkait dengan gambar digital yang sesuai Hati-hati saat menggunakan indeks ini. Tidak semua indeks mencakup setiap orang dalam sensus. Beberapa hanya indeks kepala rumah tangga. Jadi, ada baiknya membaca deskripsi yang disertakan dengan indeks untuk melihat bagaimana menyelesaikannya ...

Bagaimana Melakukan Pencarian Silsilah Lipat3 - dummies

Bagaimana Melakukan Pencarian Silsilah Lipat3 - dummies

Fold3 berisi lebih dari 410 juta catatan untuk membantu silsilahmu Selain catatan militer, situs ini memiliki catatan wisma, direktori kota, aplikasi paspor, dan catatan sensus. Anda dapat mencari catatan militer dan pemerintah lainnya di Fold3 dengan menggunakan langkah-langkah berikut:

Pilihan Editor

Bagaimana Menggunakan Alat Markup Gambar di Adobe Acrobat CS6 - dummies

Bagaimana Menggunakan Alat Markup Gambar di Adobe Acrobat CS6 - dummies

Panel Drawing Markups di Adobe Acrobat CS6 berisi alat bentuk, alat garis, alat pensil dan alat gambar lainnya. Gunakan alat gambar untuk menambahkan garis, oval, persegi panjang, dan bentuk lainnya ke file PDF Anda untuk memberi umpan balik dan komentar pada dokumen PDF. Bentuk-bentuk ini dapat menarik perhatian pada bagian-bagian tertentu dari sebuah dokumen ...

Cara Memanipulasi Teks dengan Alat Teks Dokumen Adobe Acrobat CS6 - dummies

Cara Memanipulasi Teks dengan Alat Teks Dokumen Adobe Acrobat CS6 - dummies

Edit Alat Document Text digunakan untuk memanipulasi teks dalam Adobe Acrobat CS6. Ini bisa termasuk mengubah karakter teks aktual atau tampilan teks. Anda bisa mengganti kucing untuk membaca anjing, atau Anda bisa mengubah teks hitam menjadi biru, atau Anda bahkan bisa mengubah font Helvetica menjadi font Times. Bila Anda ...

Bagaimana Membatasi Pengeditan dan Pencetakan di Adobe Acrobat CS6 - dummies

Bagaimana Membatasi Pengeditan dan Pencetakan di Adobe Acrobat CS6 - dummies

Selain membatasi tampilan file PDF di Adobe Acrobat CS6, Anda juga dapat membatasi pengeditan dan pencetakan, yang membatasi pengguna membuat perubahan pada dokumen Anda. Hal ini memungkinkan pengguna untuk melihat file tapi tidak mengubahnya. Untuk membatasi pengeditan dan pencetakan dokumen PDF Anda, ikuti langkah-langkah ini: Dengan file PDF ...

Pilihan Editor

Panduan ayah untuk bayi yang menangis - boneka

Panduan ayah untuk bayi yang menangis - boneka

Pada tahap tertentu, tangisan pasti akan terjadi di rumah Anda. Bayi yang sehat mungkin menangis selama beberapa jam sehari (atau lebih). Menangis adalah cara bayi Anda untuk memberi tahu Anda bahwa dia lapar, kesepian, lelah, berjerawat, terlalu panas, atau membutuhkan perubahan popok. Terkadang dia menangis tanpa alasan yang jelas sama sekali. ...

Panduan ayah untuk bayi-bukti rumah Anda - dummies

Panduan ayah untuk bayi-bukti rumah Anda - dummies

Banyak ayah merasa perlu untuk membuktikan bayi mereka rumah dan untuk alasan yang baik. Bayi Anda sangat tidak berdaya secara fisik dan tidak sadar akan bahaya. Menjaga keselamatan bayi terserah Anda. Uang berhenti dengan orang tua; Tidak ada lagi yang menjaga bayi Anda aman untuk Anda. Jadi, tetaplah bekerja dengan baik dengan selalu memeriksakan suhu ...

Melakukan Pemeriksaan Latar Belakang selama Pencarian Perawatan Anak Anda - dummies

Melakukan Pemeriksaan Latar Belakang selama Pencarian Perawatan Anak Anda - dummies

Jika Anda berencana untuk menyewa pengasuh anak atau Penyedia layanan penitipan anak di rumah atau mempertimbangkan untuk menempatkan anak Anda dalam penitipan siang hari keluarga, Anda harus meminta cek referensi dan pemeriksaan latar belakang. Dalam kasus operasi penitipan anak keluarga, mintalah permintaan polisi untuk memeriksa orang dewasa lain yang tinggal di rumah tersebut. Anda tidak ...