Daptar eusi
Dina Microsoft Excel VBA, nanganan kasalahan mangrupikeun salah sahiji tugas kritis. Upami anjeun coder, anjeun terang pentingna penanganan kasalahan pikeun ngawangun aplikasi anu sampurna. Kasalahan naon waé dina hiji pernyataan tiasa ngahambat kodeu VBA anjeun ku sababaraha cara. Janten, anjeun kedah ati-ati pikeun nanganan kasalahan éta nalika ngalaksanakeun kode VBA. Aya seueur kasalahan run-time anu anjeun tiasa nyanghareupan nalika nganggo kode VBA di Excel. Pikeun ngajawab salah sahijina, kami nganggo pernyataan Dina Error Resume Next .
Dina tutorial ieu, anjeun bakal diajar ngagunakeun Dina Error Resume Next pernyataan dina Excel. VBA. Tutorial ieu bakal aya dina titik kalayan conto anu cocog sareng ilustrasi anu leres. Janten, tetep sareng kami.
Unduh Buku Latihan Praktek
VBA On Error Resume Next.xlsm
Penanganan Kasalahan dina Excel VBA
Nalika damel sareng Microsoft Excel VBA, anjeun bakal nyanghareupan seueur kasalahan dina sub-prosedur anjeun. Lamun VBA teu bisa ngaéksekusi hiji pernyataan, éta ngalungkeun kasalahan run-time.
Excel otomatis nguruskeun kasalahan ieu, jadi lamun kasalahan run-time muncul, eta mintonkeun pesen kasalahan standar kawas kieu:
Ayeuna, anjeun tiasa ngungkulan ieu sagala rupa ku sababaraha pernyataan VBA. Kuring bakal ngabahas éta dina bagian engké.
Baca Deui: Kumaha Ngalereskeun #REF! Kasalahan dina Excel (6 Solusi)
Dina Pernyataan Kasalahan dina VBA
Pikeun nanganan kasalahan runtime, kami paréntah Excel nganggo pernyataan On Error. Éta mutuskeunKasalahan NAME dina Excel (10 Conto)
💬 Hal-hal anu Diinget
✎ Dina Kasalahan Resume Salajengna henteu ngalereskeun kasalahan. Dasarna teu malire kasalahan sarta neruskeun kana pernyataan salajengna.
✎ Excel bubu jeung nyimpen kasalahan run-time dina objek Err. Nalika kami nganggo pernyataan Dina Error Resume Next , éta mupus sipat objék Err.
✎ Anjeun tiasa mareuman Dina Error Resume Next pernyataan dina kode VBA anjeun dina Excel ku nambahkeun On Error GoTo 0 pernyataan.
Kacindekan
Pikeun nyimpulkeun, abdi miharep tutorial ieu geus nyadiakeun Anjeun sareng sapotong mangpaat. pangaweruh pikeun ngagunakeun Dina Error Resume Next dina Excel VBA. Abdi nyarankeun anjeun diajar sareng nerapkeun sadaya petunjuk ieu kana set data anjeun. Unduh buku latihan sareng cobian ieu nyalira. Ogé, ngarasa Luncat pikeun masihan eupan balik dina bagian comment. Eupan balik anjeun anu berharga ngajadikeun kami tetep motivasi pikeun nyieun tutorial sapertos kieu.
Tong hilap parios situs wéb kami Exceldemy.com kanggo sagala rupa masalah sareng solusi anu aya hubunganana sareng Excel.
Terus diajar métode anyar jeung terus tumuwuh!
jenis operasi urang rék ngalakukeun salajengna geuwat. Dasarna, urang nganonaktipkeun kasalahan ieu ku cara nanganan kasalahan ieu.Kami nganggo tilu rupa pernyataan On Error(sintaksis) dina Excel VBA.
- Dina Kasalahan GoTo Jalur
- Dina Kasalahan Resume Salajengna
- Dina Kasalahan GoTo 0
Lamun anjeun manggihan kasalahan, paké paréntah On Error. Kusabab upami anjeun henteu nganggo deklarasi On Error , kasalahan-run-time éta bakal cilaka. Bakal mintonkeun ajakan kasalahan jeung ngeureunkeun palaksanaan.
Lamun urang make pernyataan On Error , urang ngahurungkeun panangan kasalahan "diaktipkeun". Panangan kasalahan "aktif" mangrupikeun panangan anu diaktipkeun anu ngamimitian operasi penanganan kasalahan. Upami aya kasalahan nalika aya panangan kasalahan, panangan kasalahan metode ayeuna moal tiasa nahan kasalahan. Sanggeus éta, kontrol balik deui ka prosedur nélépon.
Lamun prosés nélépon boga panangan kasalahan aktip, éta bakal dipicu pikeun ngatur kasalahan. Upami panangan kasalahan sistem telepon anjeun saluyu sareng aktipitas, kontrol masihan deui ngaliwatan prosedur nelepon sateuacana dugi ka mendakan panangan kasalahan anu diaktipkeun tapi teu aktip. Upami teu tiasa mendakan panangan kasalahan anu dianggurkeun, ieu hartosna kasalahan éta musibah dina titik kajadianana.
Unggal-unggal panangan kasalahan masihan wewenang deui kana prosedur nelepon, prosedur éta mekarkeun prosedur anu aya. Palaksanaan restarts dinaprosedur ayeuna ayeuna dipilih ku pernyataan Resume nalika panangan kasalahan nanganan kasalahan dina prosedur naon waé.
'Dina Error Resume Next' dina VBA
Ayeuna, Dina Kasalahan Resume Next pernyataan nyarioskeun ka VBA pikeun malire sagala garis kode anu aya kasalahan, sareng teraskeun langsung kana garis kode di handap ieu. Sanggeus éta, kodeu VBA Excel bakal ngalewatan garis atawa garis anu ngandung kasalahan, sarta ngaléngkah ka runtuyan kode ieu.
Pernyataan On Error Resume Next maksakeun palaksanaan ka neruskeun kalawan paréntah instan pursuing garis kode nu ngainduksi kasalahan run-time. Pernyataan ieu ngamungkinkeun eksekusi pikeun ngaluncat sanajan aya kasalahan run-time. Upami anjeun nganggap yén garis kode khusus tiasa ngahasilkeun kasalahan, tempatkeun rutin penanganan kasalahan di dinya tinimbang nempatkeun éta di lokasi anu sanés dina prosedur. Pernyataan On Error Resume Next janten dianggurkeun nalika kode anjeun nyauran prosedur anu sanés. Janten, nalika anjeun peryogi panangan kasalahan anu cocog dina rutin éta, anjeun kedah ngajalankeun paréntah On Error Resume Next dina unggal pola anu namina.
Wajar upami garis kode anu anjeun bisa skip teu perlu ka flourishing ngajalankeun makro. Tapi émut, éta tiasa ngabahayakeun upami anjeun henteu leres ngagunakeunana sabab tiasa nyababkeun hasil anu teu dihaja.
Inget:
The On Kasalahan Resume Pernyataan salajengna henteungalereskeun kasalahan runtime. Dasarna teu malire kasalahan dimana palaksanaan VB anjeun bakal diteruskeun tina pernyataan anu ngahasilkeun kasalahan runtime.
Tingali kodeu ieu:
4260
Kami nyobian ngabagi 5 jeung 0 jeung 1. Hayu urang ngajalankeun kode. Bakal mintonkeun kaluaran ieu:
Ngahasilkeun kasalahan run-time. Urang teu bisa ngabagi angka ku 0. Lamun anjeun debug kodeu, anjeun bakal nempo kieu:
Nalika program VB manggihan kasalahan, eta langsung ngeureunkeun prosedur. Éta henteu ngajalankeun baris di handap ieu.
Ayeuna, hayu urang laksanakeun On Error Resume Next pernyataan sateuacan pernyataan kasalahan:
6429
Saatos ngajalankeun kodeu, anjeun bakal tingali ieu di handap:
Sakumaha anjeun tiasa tingali, VBA malire garis nu ngahasilkeun kasalahan sarta proceeds langsung ka garis handap kode. Ku cara kieu, anjeun tiasa nganggo pernyataan On Error Resume Next pikeun nanganan kasalahan dina Excel VBA.
Conto 'On Error Resume Next' dina VBA
In bagian di handap ieu, abdi bade nyadiakeun Anjeun sareng dua conto tina Dina Error Resume Next pernyataan nu bisa Anjeun laksanakeun kana lembar kerja Excel Anjeun maké VBA. Abdi nyarankeun anjeun diajar sareng nerapkeun sadayana kana buku kerja anjeun. Pasti bakal ningkatkeun pangaweruh Excel anjeun.
1. Pernyataan 'Dina Error Resume Next' pikeun Nyumputkeun Lembar Kerja
Ayeuna, dina conto ieu, kuring bakal nunjukkeun anjeun kode VBA anubakal nyumputkeun sadaya lembar kerja tina buku kerja anjeun anu aktip.
Tingali screenshot ieu:
Di dieu, aya opat lembar kerja. Kami bakal nyumputkeun sadayana nganggo kode VBA di handap ieu:
5854
Nalika anjeun ngaéksekusi kodeu ieu, anjeun bakal ningali kasalahan runtime di handap ieu:
Excel nembongkeun kasalahan ieu sabab teu bisa nyumputkeun sakabéh lambar dina workbook a. Ku kituna, anjeun kudu malire kasalahan. Jang ngalampahkeun ieu, anjeun kudu nerapkeun on Error Resume Next pernyataan dina baris kode anjeun.
4085
Sanggeus ngalengkepan palaksanaan kodeu VBA, anjeun bakal nempo kaluaran handap:
Ahirna, anjeun moal ningali kasalahan saatos dieksekusi. Janten, pernyataan On Error Resume Next kami leres-leres damel dina kode VBA.
Baca deui: Kasalahan dina Excel sareng Hartina (15 Kasalahan Béda)
2. Fungsi VLOOKUP sareng 'On Error Resume Next' dina VBA
Dina conto ieu, kuring bakal nunjukkeun conto fungsi VLOOKUP dina VBA . Ayeuna, kode VBA ieu ogé ngawengku pernyataan On Error Resume Next .
Tingali screenshot ieu:
Di dieu , Anjeun tiasa ningali ngaran sababaraha urang jeung umur maranéhanana. Dina tabel padeukeut, urang bakal make VLOOKUP pikeun manggihan ngaran jeung umur jalma.
Ketik kodeu handap pikeun ngalakukeun ieu:
3772
Ayeuna, ngajalankeun makro . Anjeun bakal ningali kasalahan ieu:
Ayeuna, ieu mangrupikeun waktoskasalahan. Naha éta kajadian? Tingali deui set datana:
Sakumaha anjeun tiasa ningali, teu aya data pikeun "Aaron" sareng "Emma". Éta sababna ngan ukur ngalaksanakeun VLOOKUP kanggo éntri anu munggaran. Saatos éta, éta ngeureunkeun palaksanaan. Ayeuna, upami anjeun hoyong malire kasalahan sareng neraskeun milarian sesa umur, paké pernyataan On Error Resume Next .
1711
Saatos ngajalankeun kode VBA, anjeun bakal ningali kaluaran ieu:
Sakumaha anjeun tiasa tingali, ku nerapkeun paréntah Dina Error Resume Next , urang teu malire kasalahan éta sareng mendakan jalma-jalma sanés. umur. Kodeu VBA kami henteu mendakan data Harun sareng Emma. Éta sababna éta teu malire nilai-nilai éta sareng mulangkeun sesa nilai dina lembar kerja Excel.
Baca deui: [Dilereskeun] Excel Manggih Masalah sareng Hiji atanapi Langkung Rujukan Rumus dina Lembar Kerja Ieu
Pareuman 'Dina Error Resume Next' sareng Excel VBA
Ayeuna, anjeun tiasa aya dina kaayaan dimana anjeun hoyong malire kasalahan pikeun bagian tina kode VBA. Émut, upami anjeun nganggo Pernyataan On Error Resume Next dina kode VBA, éta bakal ngalangkungan sadaya kasalahan saatos éta. Ayeuna, upami anjeun hoyong mareuman éta sareng ngaktifkeun penanganan kasalahan pikeun bagéan sanés, paké Dina Kasalahan GoTo 0 . Ieu bakal ngaktifkeun deui penanganan kasalahan.
Pamakean umum:
Sub error_handling()
Pikeun malire kasalahan
Dina Kasalahan Lanjutkeun Salajengna
// baris kode
Kahurungkeun Kasalahan nanganan
Aktipkeun Kasalahan GoTo 0
//baris kode
Tungtung sub
Tingali kode VBA handap:
5365
Urang dipaké kode saméméhna pikeun fungsi VLOOKUP . Ieu nambihan sakumpulan kode tambahan pikeun nunjukkeun anjeun. Kode urang bakal malire kasalahan nalika ngajalankeun VLOOKUP tapi bakal ngaktifkeun penanganan kasalahan saatos pernyataan On Error GoTo 0 .
Baca Seueurna: Excel VBA: Pareuman "Dina Error Resume Next"
VBA 'On Error GoTo'
Saméméhna kuring bahas nanganan kasalahan ngagunakeun métode On Kasalahan. Sakabeh tulisan urang sadayana ngeunaan On Error Resume Next. Ayeuna, aya ogé dua jinis penanganan kasalahan anu bakal kuring bahas dina bagian ieu.
1. VBA On Error GoTo 0
The On Error Goto 0 pernyataan nyaéta setélan inbuilt Excel upami kodeu anjeun henteu ngagaduhan panangan kasalahan. Dasarna nunjukkeun yén nalika VBA mendakan kasalahan sareng Dina Kasalahan GoTo 0 , éta bakal ngeureunkeun ngajalankeun kode sareng nunjukkeun kotak pesen kasalahan tradisionalna.
Dina Kasalahan GoTo 0 pernyataan dasarna mareuman penanganan kasalahan dina prosedur ayeuna. Éta henteu netepkeun garis 0 salaku awal kode penanganan kasalahan, sanaos metodena kalebet garis anu nomer 0.
Tingali kode ieu:
7118
Kami gaduh geus ditémbongkeun anjeun kode ieu. Kode ieu dasarna nyumputkeun sadaya lembar kerjadina buku kerja anjeun ayeuna. Ayeuna, kuring memang gaduh potongan kode tambahan sareng On Error GoTo 0 pikeun nunjukkeun kasalahan. Upami anjeun ngajalankeun kodeu, anjeun bakal ningali ieu:
Éta nunjukkeun kasalahan ieu kusabab urang teu tiasa gaduh lambaran anu nami anu sami dina buku kerja anu aktip.
2. VBA On Error GoTo line
Ayeuna, anjeun ogé tiasa maréntahkeun Excel pikeun ngajalankeun bagéan kode anu sanés upami mendakan kasalahan nganggo jalur On Error GoTo . Eta ngabejaan Excel sangkan ngaéksekusi hiji hal sanggeus manggihan kasalahan.
Argumen garis nyaeta sagala tag garis atawa nomer garis. Lamun kode urang ngabalukarkeun sagala kasalahan run-time, éta bakal pindah ka garis, ngabalukarkeun panangan kasalahan aktip dina palaksanaan. Émut, garis anu didefinisikeun anjeun kedah aya dina prosedur anu persis sapertos pernyataan On Error; Upami teu kitu, éta bakal nyababkeun kasalahan kompilasi.
Tingali kodeu ieu:
2286
Anjeun ningali kodeu dina conto sateuacana. Nalika kami nganggo On Error GoTo 0 , éta nyababkeun kasalahan. Tapi, di dieu urang ngaganti ku On Error GoTo line statement.
Ayeuna, jalankeun kodeu jeung anjeun bakal nempo kieu:
Sakumaha anjeun tiasa tingali, éta henteu nunjukkeun kotak dialog kasalahan standar. Gantina, eta nembongkeun kotak pesen custom nu urang dijieun dina error_handler ruas. Nalika Excel mendakan kasalahan naon waé, éta ngaluncat ka bagian error_handler sareng nunjukkeun kotak pesen.
Kami ogé nganggo Exit Sub dina prosedur.Upami teu aya lambaran anu namina " VLOOKUP ", kode VBA kami bakal ngaganti nami lambaran anu aktip. Teras, urang kedah ngaréngsékeun palaksanaan di dieu sabab urang henteu kedah neraskeun panangan kasalahan sareng ningalikeun kotak pesen.
VBA 'On Error' Teu Gawé dina Excel
Kadang, euweuh urusan sabaraha teuas anjeun coba, metoda On Kasalahan moal jalan. Saméméhna, urang nerapkeun métode On Error pikeun nanganan kasalahan. Tapi, sakapeung bakal nunjukkeun kasalahan sanajan anjeun nganggo On Error Resume Next atanapi On Error GoTo 0 . Aya sababaraha alesan dina kode anjeun anu anjeun kedah ngalereskeun. Abdi henteu badé nunjukkeun éta.
Alesan dasar pikeun VBA ' Dina Kasalahan' Teu Gawé dina Excel nyaéta ngaktipkeun pilihan "Break on All Errors" dina Excel.
Tuturkeun léngkah ieu pikeun ngajawab éta:
📌 Lengkah
- Kahiji, pencét Alt+F11 dina kibor anjeun pikeun buka editor VBA.
- Ayeuna, klik Alat > Pilihan.
- Sanggeus éta, klik tab General dina dialog Options kotak.
- Di dieu, anjeun tiasa ningali, " Pegatkeun Sadaya Kasalahan " parantos dipariksa. Dasarna nyegah anjeun tina nanganan kasalahan.
- Pikeun ngarobahna, pilih pilihan " Break on Unhandled Errors " teras klik OK .
Muga-muga éta bakal ngalereskeun masalah anjeun ngeunaan VBA "On Error" teu tiasa dianggo dina Excel.
Baca deui: Alesan jeung Koréksi