ກ່ຽວກັບຄວາມຜິດພາດສືບຕໍ່ຕໍ່ໄປ: ການຈັດການຄວາມຜິດພາດໃນ Excel VBA

  • ແບ່ງປັນນີ້
Hugh West

ໃນ Microsoft Excel VBA, ການຈັດການຄວາມຜິດພາດແມ່ນໜຶ່ງໃນໜ້າວຽກທີ່ສຳຄັນ. ຖ້າທ່ານເປັນນັກຂຽນລະຫັດ, ທ່ານຮູ້ຈັກຄວາມສໍາຄັນຂອງການຈັດການຄວາມຜິດພາດເພື່ອສ້າງຄໍາຮ້ອງສະຫມັກທີ່ສົມບູນແບບ. ຄວາມຜິດພາດໃດໆໃນຄໍາຖະແຫຼງທີ່ສາມາດຂັດຂວາງລະຫັດ VBA ຂອງທ່ານໃນຫຼາຍວິທີ. ດັ່ງນັ້ນ, ທ່ານຕ້ອງມີຄວາມລະມັດລະວັງໃນການຈັດການຄວາມຜິດພາດເຫຼົ່ານັ້ນໃນຂະນະທີ່ປະຕິບັດລະຫັດ VBA. ມີຫຼາຍຂໍ້ຜິດພາດໃນເວລາແລ່ນທີ່ທ່ານສາມາດປະເຊີນກັບໃນຂະນະທີ່ໃຊ້ລະຫັດ VBA ໃນ Excel. ເພື່ອແກ້ໄຂອັນໃດອັນໜຶ່ງ, ພວກເຮົາໃຊ້ຄຳຖະແຫຼງ On Error Resume Next .

ໃນບົດເຝິກຫັດນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ການໃຊ້ຄຳຖະແຫຼງ On Error Resume Next ໃນ Excel. VBA. ການສອນນີ້ຈະຢູ່ໃນຈຸດທີ່ມີຕົວຢ່າງທີ່ເຫມາະສົມແລະຮູບປະກອບທີ່ເຫມາະສົມ. ດັ່ງນັ້ນ, ຢູ່ກັບພວກເຮົາ.

ດາວໂຫລດ Practice Workbook

VBA On Error Resume Next.xlsm

Error Handling in Excel VBA

ໃນຂະນະທີ່ເຮັດວຽກກັບ Microsoft Excel VBA, ທ່ານຈະປະເຊີນກັບຄວາມຜິດພາດຫຼາຍໃນຂັ້ນຕອນຍ່ອຍຂອງທ່ານ. ເມື່ອ VBA ບໍ່ສາມາດປະຕິບັດການຖະແຫຼງການ, ມັນຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດ run-time.

Excel ຈັດການກັບຄວາມຜິດພາດເຫຼົ່ານີ້ໂດຍອັດຕະໂນມັດ, ດັ່ງນັ້ນເມື່ອຂໍ້ຜິດພາດ run-time ເກີດຂື້ນ, ມັນຈະສະແດງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດເລີ່ມຕົ້ນເຊັ່ນ:

ດຽວນີ້, ທ່ານສາມາດຈັດການກັບສິ່ງເຫຼົ່ານີ້ດ້ວຍບາງຄຳຖະແຫຼງ VBA. ຂ້າ​ພະ​ເຈົ້າ​ຈະ​ປຶກ​ສາ​ຫາ​ລື​ພວກ​ເຂົາ​ໃນ​ພາກ​ຕໍ່​ໄປ.

ອ່ານ​ເພີ່ມ​ເຕີມ: ວິ​ທີ​ການ​ແກ້​ໄຂ #REF! Error ໃນ Excel (6 Solutions)

On Error Statements ໃນ VBA

ເພື່ອຈັດການກັບຄວາມຜິດພາດຂອງເວລາແລ່ນ, ພວກເຮົາແນະນໍາ Excel ດ້ວຍຄໍາສັ່ງ On Error. ມັນຕັດສິນໃຈຂໍ້ຜິດພາດຂອງ NAME ໃນ Excel (10 ຕົວຢ່າງ)

💬 ສິ່ງທີ່ຄວນຈື່

✎ ໃນຄວາມຜິດພາດສືບຕໍ່ຕໍ່ໄປ ບໍ່ໄດ້ແກ້ໄຂຂໍ້ຜິດພາດ. ໂດຍພື້ນຖານແລ້ວມັນຈະບໍ່ສົນໃຈຄວາມຜິດພາດ ແລະສືບຕໍ່ໄປຫາຄໍາຖະແຫຼງຕໍ່ໄປ.

Excel ຈັ່ນຈັບ ແລະເກັບຮັກສາຄວາມຜິດພາດໃນເວລາແລ່ນຢູ່ໃນວັດຖຸ Err. ເມື່ອພວກເຮົາໃຊ້ຄຳຖະແຫຼງ On Error Resume Next , ມັນຈະລຶບລ້າງຄຸນສົມບັດວັດຖຸ Err.

ທ່ານສາມາດປິດການ On Error Resume Next ຖະແຫຼງການໃນລະຫັດ VBA ຂອງທ່ານໃນ Excel ໂດຍການເພີ່ມ On Error GoTo 0 ຖະແຫຼງການ.

Conclusion

ເພື່ອສະຫຼຸບ, ຂ້າພະເຈົ້າຫວັງວ່າບົດແນະນໍານີ້ໄດ້ໃຫ້ຂໍ້ສະເຫນີທີ່ເປັນປະໂຫຍດແກ່ທ່ານ. ຄວາມຮູ້ທີ່ຈະໃຊ້ On Error Resume Next ໃນ Excel VBA. ຂ້າພະເຈົ້າແນະນໍາໃຫ້ທ່ານຮຽນຮູ້ແລະນໍາໃຊ້ຄໍາແນະນໍາທັງຫມົດເຫຼົ່ານີ້ກັບຊຸດຂໍ້ມູນຂອງທ່ານ. ດາວ​ນ​໌​ໂຫລດ​ຄູ່​ມື​ການ​ປະ​ຕິ​ບັດ​ແລະ​ພະ​ຍາ​ຍາມ​ເຫຼົ່າ​ນີ້​ຕົວ​ທ່ານ​ເອງ​. ນອກຈາກນັ້ນ, ມີຄວາມຮູ້ສຶກໃຫ້ກັບຜູ້ໃຫ້ຄໍາຄິດເຫັນໃນສ່ວນຄໍາເຫັນ. ຄໍາຕິຊົມທີ່ມີຄຸນຄ່າຂອງເຈົ້າເຮັດໃຫ້ພວກເຮົາມີແຮງຈູງໃຈທີ່ຈະສ້າງບົດສອນແບບນີ້.

ຢ່າລືມກວດເບິ່ງເວັບໄຊທ໌ຂອງພວກເຮົາ Exceldemy.com ສໍາລັບບັນຫາຕ່າງໆທີ່ກ່ຽວຂ້ອງກັບ Excel ແລະວິທີແກ້ໄຂ.

ສືບຕໍ່ຮຽນຮູ້ວິທີການໃໝ່ໆ ແລະສືບຕໍ່ເຕີບໃຫຍ່!

ປະເພດໃດແດ່ທີ່ພວກເຮົາຕ້ອງການທີ່ຈະເຮັດຕໍ່ໄປໃນທັນທີ. ໂດຍພື້ນຖານແລ້ວ, ພວກເຮົາປິດການໃຊ້ງານຄວາມຜິດພາດເຫຼົ່ານີ້ໂດຍການຈັດການຄວາມຜິດພາດປະເພດເຫຼົ່ານີ້.

ພວກເຮົາໃຊ້ສາມປະເພດຂອງ On Error statements(syntax) ໃນ Excel VBA.

  • On Error GoTo line
  • On Error Resume Next
  • On Error GoTo 0

ເມື່ອທ່ານພົບຂໍ້ຜິດພາດ, ໃຫ້ໃຊ້ຄຳສັ່ງ On Error. ເພາະ​ວ່າ​ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ບໍ່​ໄດ້​ນໍາ​ໃຊ້​ການ​ປະ​ກາດ On Error , ຄວາມ​ຜິດ​ພາດ​ໃນ​ການ​ແລ່ນ​ເຫຼົ່າ​ນັ້ນ​ຈະ​ເປັນ​ໄພ​ພິ​ບັດ. ມັນ​ຈະ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ກະ​ຕຸ້ນ​ຄວາມ​ຜິດ​ພາດ​ແລະ​ຢຸດ​ເຊົາ​ການ​ປະ​ຕິ​ບັດ.

ເມື່ອ​ພວກ​ເຮົາ​ນໍາ​ໃຊ້​ຄໍາ​ສັ່ງ On Error , ພວກ​ເຮົາ​ຈະ​ເປີດ​ຕົວ​ຈັດ​ການ​ຄວາມ​ຜິດ​ພາດ "ເປີດ​ໃຊ້​ງານ​"​. ຕົວຈັດການຄວາມຜິດພາດ "ເຄື່ອນໄຫວ" ແມ່ນຕົວຈັດການທີ່ເປີດໃຊ້ງານທີ່ເລີ່ມຕົ້ນການດໍາເນີນການຈັດການຄວາມຜິດພາດ. ຖ້າຄວາມຜິດພາດເກີດຂື້ນໃນຂະນະທີ່ຕົວຈັດການຄວາມຜິດພາດມີສ່ວນຮ່ວມ, ຕົວຈັດການຄວາມຜິດພາດຂອງວິທີການປະຈຸບັນບໍ່ສາມາດທົນກັບຄວາມຜິດພາດໄດ້. ຫຼັງຈາກນັ້ນ, ການຄວບຄຸມຈະກັບຄືນໄປຫາຂັ້ນຕອນການໂທ.

ຖ້າຂະບວນການໂທມີຕົວຈັດການຄວາມຜິດພາດທີ່ເປີດໃຊ້, ມັນຈະຖືກກະຕຸ້ນໃຫ້ຈັດການຄວາມຜິດພາດ. ຖ້າຕົວຈັດການຄວາມຜິດພາດຂອງລະບົບການໂທຂອງທ່ານຖືກຕິດຕໍ່ກັນ, ການຄວບຄຸມຈະກັບຄືນຜ່ານຂັ້ນຕອນການໂທກ່ອນໜ້ານີ້ ຈົນກວ່າມັນຈະພົບເຫັນຕົວຈັດການຄວາມຜິດພາດທີ່ເປີດໃຊ້ງານ ແຕ່ບໍ່ໄດ້ໃຊ້ງານ. ຖ້າມັນບໍ່ສາມາດຊອກຫາຕົວຈັດການຄວາມຜິດພາດທີ່ເປີດໃຊ້ໄວ້ບໍ່ໄດ້, ນີ້ໝາຍຄວາມວ່າຄວາມຜິດພາດແມ່ນໄພພິບັດຢູ່ໃນຈຸດທີ່ເກີດຂື້ນຂອງມັນ.

ແຕ່ລະຄັ້ງທີ່ຕົວຈັດການຄວາມຜິດພາດໃຫ້ສິດອຳນາດກັບຄືນໄປບ່ອນຂັ້ນຕອນການເອີ້ນ, ຂັ້ນຕອນນັ້ນຈະພັດທະນາຂັ້ນຕອນທີ່ມີຢູ່ແລ້ວ. ການ​ປະ​ຕິ​ບັດ restarts ໃນ​ຂັ້ນຕອນປະຈຸບັນທີ່ເລືອກໂດຍ Resume ເມື່ອຕົວຈັດການຂໍ້ຜິດພາດຈະຈັດການຂໍ້ຜິດພາດໃນຂັ້ນຕອນໃດນຶ່ງ.

'On Error Resume Next' ໃນ VBA

ດຽວນີ້, the ໃນ Error Resume Next ຖະແຫຼງການບອກ VBA ໃຫ້ລະເລີຍສາຍຂອງລະຫັດໃດນຶ່ງທີ່ມີຂໍ້ຜິດພາດ, ແລະດໍາເນີນການຕໍ່ໄປຫາແຖວຂອງລະຫັດຕໍ່ໄປນີ້ທັນທີ. ຫຼັງຈາກນັ້ນ, ລະຫັດ Excel VBA ຈະຂ້າມເສັ້ນຫຼືເສັ້ນທີ່ມີຂໍ້ຜິດພາດຢູ່ໃນພວກມັນ, ແລະສືບຕໍ່ໄປຫາລໍາດັບຂອງລະຫັດຕໍ່ໄປນີ້.

ຄໍາສັ່ງ On Error Resume Next ບັງຄັບໃຫ້ການປະຕິບັດກັບ ສືບຕໍ່ກັບຄໍາສັ່ງທັນທີທີ່ຕິດຕາມສາຍຂອງລະຫັດທີ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນເວລາແລ່ນ. ຄໍາຖະແຫຼງການນີ້ອະນຸຍາດໃຫ້ປະຕິບັດການຂ້າມເຖິງແມ່ນວ່າຈະມີຄວາມຜິດພາດໃນເວລາແລ່ນ. ຖ້າທ່ານຄິດວ່າລະຫັດສະເພາະໃດນຶ່ງສາມາດສ້າງຄວາມຜິດພາດໄດ້, ໃຫ້ວາງຂັ້ນຕອນການຈັດການຄວາມຜິດພາດຢູ່ທີ່ນັ້ນແທນທີ່ຈະວາງມັນໄວ້ໃນບ່ອນອື່ນພາຍໃນຂັ້ນຕອນ. ຂໍ້ຄວາມ On Error Resume Next ກາຍເປັນບໍ່ເຄື່ອນໄຫວເມື່ອລະຫັດຂອງທ່ານໂທຫາຂັ້ນຕອນອື່ນ. ດັ່ງນັ້ນ, ເມື່ອທ່ານຕ້ອງການການຈັດການຄວາມຜິດພາດທີ່ກົງກັນໃນແບບປົກກະຕິນັ້ນ, ທ່ານຕ້ອງດໍາເນີນການຄໍາສັ່ງ On Error Resume Next ໃນແຕ່ລະຮູບແບບທີ່ມີຊື່.

ມັນສົມເຫດສົມຜົນເມື່ອເສັ້ນລະຫັດທີ່ທ່ານ ສາມາດຂ້າມແມ່ນບໍ່ຈໍາເປັນຕໍ່ການຂະຫຍາຍຕົວຂອງມະຫາພາກ. ແຕ່ຈື່ໄວ້ວ່າ ມັນອາດຈະເປັນອັນຕະລາຍຫາກທ່ານໃຊ້ມັນບໍ່ຖືກຕ້ອງ ເພາະມັນອາດຈະໃຫ້ຜົນໄດ້ຮັບທີ່ບໍ່ໄດ້ຕັ້ງໃຈ.

ຈື່:

The On Error Resume Next ຄໍາຖະແຫຼງທີ່ບໍ່ໄດ້ແກ້​ໄຂ​ຄວາມ​ຜິດ​ພາດ runtime​. ໂດຍພື້ນຖານແລ້ວມັນບໍ່ສົນໃຈຄວາມຜິດພາດທີ່ການປະຕິບັດ VB ຂອງທ່ານຈະດໍາເນີນການຕໍ່ຈາກຄໍາຖະແຫຼງທີ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດ runtime.

ເບິ່ງລະຫັດຕໍ່ໄປນີ້:

9720

ພວກເຮົາໄດ້ພະຍາຍາມແບ່ງ 5. ດ້ວຍ 0 ແລະ 1. ໃຫ້ແລ່ນລະຫັດ. ມັນຈະສະແດງຜົນອອກມາຕໍ່ໄປນີ້:

ມັນເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນເວລາແລ່ນ. ພວກ​ເຮົາ​ບໍ່​ສາ​ມາດ​ແບ່ງ​ຕົວ​ເລກ​ດ້ວຍ 0. ໃນ​ເວ​ລາ​ທີ່​ທ່ານ​ແກ້​ໄຂ​ລະ​ຫັດ​, ທ່ານ​ຈະ​ເຫັນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້:

ເມື່ອ​ໂຄງ​ການ VB ພົບ​ຄວາມ​ຜິດ​ພາດ​, ມັນ​ຈະ​ຢຸດ​ຕິ​ລະ​ບຽບ​ການ​ໃນ​ທັນ​ທີ​. ມັນ​ບໍ່​ໄດ້​ປະ​ຕິ​ບັດ​ບັນ​ດາ​ເສັ້ນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້.

ໃນ​ປັດ​ຈຸ​ບັນ, ໃຫ້​ປະ​ຕິ​ບັດ On Error Resume Next Station before the error statement:

9178

After the run the code, you will ເບິ່ງສິ່ງຕໍ່ໄປນີ້:

ດັ່ງທີ່ເຈົ້າສາມາດເຫັນໄດ້, VBA ບໍ່ສົນໃຈສາຍທີ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດ ແລະສືບຕໍ່ໄປຫາແຖວຂອງລະຫັດຕໍ່ໄປນີ້ທັນທີ. ດ້ວຍວິທີນີ້, ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງ On Error Resume Next ເພື່ອຈັດການກັບຄວາມຜິດພາດໃນ Excel VBA.

ຕົວຢ່າງຂອງ 'On Error Resume Next' ໃນ VBA

In ພາກສ່ວນຕໍ່ໄປນີ້, ຂ້າພະເຈົ້າຈະໃຫ້ຕົວຢ່າງສອງຕົວຢ່າງຂອງຄໍາຖະແຫຼງການ On Error Resume Next ທີ່ທ່ານສາມາດປະຕິບັດເຂົ້າໄປໃນແຜ່ນວຽກ Excel ຂອງທ່ານໂດຍໃຊ້ VBA. ຂ້າພະເຈົ້າຂໍແນະນໍາໃຫ້ທ່ານຮຽນຮູ້ແລະນໍາໃຊ້ທັງຫມົດເຫຼົ່ານີ້ກັບປື້ມຄູ່ມືຂອງທ່ານ. ມັນຈະເພີ່ມຄວາມຮູ້ Excel ຂອງເຈົ້າຢ່າງແນ່ນອນ.

1. 'On Error Resume Next' ຄໍາຖະແຫຼງທີ່ຈະເຊື່ອງ Worksheets

ຕອນນີ້, ໃນຕົວຢ່າງນີ້, ຂ້ອຍຈະສະແດງລະຫັດ VBA ໃຫ້ທ່ານ.ຈະເຊື່ອງແຜ່ນວຽກທັງໝົດຂອງປຶ້ມວຽກຂອງທ່ານ.

ເບິ່ງຮູບໜ້າຈໍຕໍ່ໄປນີ້:

ຢູ່ນີ້, ພວກເຮົາມີສີ່ແຜ່ນງານ. ພວກເຮົາຈະເຊື່ອງພວກມັນທັງໝົດໂດຍໃຊ້ລະຫັດ VBA ຕໍ່ໄປນີ້:

3506

ເມື່ອທ່ານປະຕິບັດລະຫັດຕໍ່ໄປນີ້, ທ່ານຈະເຫັນຂໍ້ຜິດພາດເວລາແລ່ນຕໍ່ໄປນີ້:

Excel ສະແດງຂໍ້ຜິດພາດນີ້ເພາະວ່າທ່ານບໍ່ສາມາດເຊື່ອງແຜ່ນງານທັງໝົດໃນປຶ້ມວຽກໄດ້. ດັ່ງນັ້ນ, ທ່ານຕ້ອງບໍ່ສົນໃຈກັບຄວາມຜິດພາດ. ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຕ້ອງປະຕິບັດ On Error Resume Next statement ໃນແຖວລະຫັດຂອງທ່ານ.

2551

ຫຼັງຈາກສໍາເລັດການປະຕິບັດລະຫັດ VBA, ທ່ານຈະເຫັນຜົນໄດ້ຮັບດັ່ງຕໍ່ໄປນີ້:

ໃນທີ່ສຸດ, ທ່ານຈະບໍ່ເຫັນຂໍ້ຜິດພາດໃດໆຫຼັງຈາກການປະຕິບັດ. ດັ່ງນັ້ນ, ຄວາມຜິດພາດໃນ Resume ຕໍ່ໄປຂອງພວກເຮົາເຮັດວຽກໄດ້ດີຫຼາຍໃນລະຫັດ VBA.

ອ່ານເພີ່ມເຕີມ: ຄວາມຜິດພາດໃນ Excel ແລະຄວາມຫມາຍຂອງເຂົາເຈົ້າ (15 ຄວາມຜິດພາດທີ່ແຕກຕ່າງກັນ) <3

2. ຟັງຊັນ VLOOKUP ກັບ 'On Error Resume Next' ໃນ VBA

ໃນຕົວຢ່າງນີ້, ຂ້ອຍຈະສະແດງຕົວຢ່າງຂອງ ຟັງຊັນ VLOOKUP ໃນ VBA . ດຽວນີ້, ລະຫັດ VBA ນີ້ຍັງປະກອບມີ On Error Resume Next statement.

ລອງເບິ່ງພາບໜ້າຈໍຕໍ່ໄປນີ້:

ທີ່ນີ້ , ທ່ານສາມາດເບິ່ງຊື່ຂອງບາງຄົນແລະອາຍຸຂອງເຂົາເຈົ້າ. ໃນຕາຕະລາງທີ່ຢູ່ຕິດກັນ, ພວກເຮົາຈະໃຊ້ VLOOKUP ເພື່ອຊອກຫາຊື່ ແລະອາຍຸຂອງບຸກຄົນນັ້ນ.

ພິມລະຫັດຕໍ່ໄປນີ້ເພື່ອເຮັດອັນນີ້:

1494

ດຽວນີ້, ແລ່ນ macro. . ທ່ານຈະເຫັນຂໍ້ຜິດພາດຕໍ່ໄປນີ້:

ດຽວນີ້, ນີ້ແມ່ນເວລາແລ່ນຄວາມຜິດພາດ. ເປັນຫຍັງມັນເກີດຂຶ້ນ? ກວດເບິ່ງຊຸດຂໍ້ມູນອີກຄັ້ງ:

ດັ່ງທີ່ເຈົ້າເຫັນ, ບໍ່ມີຂໍ້ມູນສຳລັບ “ອາໂຣນ” ແລະ “ເອມມາ”. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມັນພຽງແຕ່ປະຕິບັດ VLOOKUP ສໍາລັບການເຂົ້າທໍາອິດ. ຫຼັງຈາກນັ້ນ, ມັນຢຸດເຊົາການປະຕິບັດ. ດຽວນີ້, ຖ້າທ່ານຕ້ອງການທີ່ຈະບໍ່ສົນໃຈຂໍ້ຜິດພາດແລະດໍາເນີນການຊອກຫາສ່ວນທີ່ເຫຼືອຂອງອາຍຸ, ໃຫ້ໃຊ້ຄໍາສັ່ງ On Error Resume Next .

3450

ຫຼັງຈາກແລ່ນລະຫັດ VBA, ທ່ານຈະເຫັນຂໍ້ຄວາມ. ຜົນໄດ້ຮັບຕໍ່ໄປນີ້:

ຕາມທີ່ເຈົ້າສາມາດເຫັນໄດ້, ໂດຍການໃຊ້ຄໍາສັ່ງ On Error Resume Next , ພວກເຮົາບໍ່ສົນໃຈກັບຄວາມຜິດພາດດັ່ງກ່າວ ແລະພົບເຫັນສ່ວນທີ່ເຫຼືອຂອງບຸກຄົນ. ອາຍຸ. ລະຫັດ VBA ຂອງພວກເຮົາບໍ່ພົບຂໍ້ມູນໃດໆຂອງ Aaron ແລະ Emma. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມັນບໍ່ສົນໃຈຄ່າເຫຼົ່ານັ້ນແລະສົ່ງຄືນຄ່າສ່ວນທີ່ເຫຼືອໃນແຜ່ນວຽກ Excel.

ອ່ານເພີ່ມເຕີມ: [ແກ້ໄຂ] Excel ພົບບັນຫາກັບຫນຶ່ງຫຼືຫຼາຍການອ້າງອີງສູດໃນແຜ່ນວຽກນີ້

ປິດ 'On Error Resume Next' ດ້ວຍ Excel VBA

ຕອນນີ້, ທ່ານອາດຈະຢູ່ໃນສະຖານະການທີ່ທ່ານຕ້ອງການທີ່ຈະບໍ່ສົນໃຈຂໍ້ຜິດພາດສໍາລັບພາກສ່ວນສະເພາະຂອງລະຫັດ VBA. ຈືຂໍ້ມູນການ, ຖ້າທ່ານໃຊ້ On Error Resume Next statement ໃນລະຫັດ VBA, ມັນຈະຂ້າມຂໍ້ຜິດພາດທັງຫມົດຫຼັງຈາກນັ້ນ. ດຽວນີ້, ຖ້າທ່ານຕ້ອງການປິດມັນແລະເປີດໃຊ້ການຈັດການຄວາມຜິດພາດສໍາລັບພາກສ່ວນອື່ນ, ໃຫ້ໃຊ້ On Error GoTo 0 . ມັນ​ຈະ​ເປີດ​ໃຊ້​ງານ​ການ​ຈັດ​ການ​ຄວາມ​ຜິດ​ພາດ​ອີກ​ເທື່ອ​ຫນຶ່ງ.

ການ​ນໍາ​ໃຊ້​ທົ່ວ​ໄປ:

Sub error_handling()

ເພື່ອ​ລະ​ເລີຍ​ຄວາມ​ຜິດ​ພາດ

ໃນຄວາມຜິດພາດ ສືບຕໍ່ຕໍ່ໄປ

// ແຖວຂອງລະຫັດ

ເຖິງເປີດການຈັດການຂໍ້ຜິດພາດ

On Error GoTo 0

//lines of codes

End sub

ລອງເບິ່ງທີ່ ຕໍ່​ໄປ​ນີ້​ລະ​ຫັດ VBA:

2025

ພວກ​ເຮົາ​ໄດ້​ນໍາ​ໃຊ້​ລະ​ຫັດ​ກ່ອນ​ຫນ້າ​ນີ້​ສໍາ​ລັບ​ການ VLOOKUP function. ບ່ອນນີ້ໄດ້ເພີ່ມລະຫັດເພີ່ມເຕີມເພື່ອສະແດງໃຫ້ທ່ານເຫັນ. ລະຫັດຂອງພວກເຮົາຈະບໍ່ສົນໃຈຄວາມຜິດພາດໃນຂະນະທີ່ດໍາເນີນການ VLOOKUP ແຕ່ມັນຈະເປີດໃຊ້ການຈັດການຄວາມຜິດພາດຫຼັງຈາກຄໍາຖະແຫຼງ On Error GoTo 0 .

ອ່ານເພີ່ມເຕີມ: Excel VBA: ປິດ “On Error Resume Next”

VBA 'On Error GoTo'

ກ່ອນໜ້ານີ້ຂ້າພະເຈົ້າໄດ້ສົນທະນາ ຈັດການຄວາມຜິດພາດໂດຍໃຊ້ວິທີ On Error. ບົດຄວາມທັງໝົດຂອງພວກເຮົາແມ່ນກ່ຽວກັບ ກ່ຽວກັບຄວາມຜິດພາດສືບຕໍ່ຕໍ່ໄປ. ດຽວນີ້, ຍັງມີສອງປະເພດຂອງການຈັດການຄວາມຜິດພາດທີ່ຂ້ອຍຈະສົນທະນາໃນພາກຕໍ່ໄປນີ້.

1. VBA On Error GoTo 0

The On Error Goto 0 ຖະແຫຼງການແມ່ນການຕັ້ງຄ່າໃນຕົວຂອງ Excel ຖ້າລະຫັດຂອງທ່ານບໍ່ມີຕົວຈັດການຂໍ້ຜິດພາດໃນພວກມັນ. ໂດຍພື້ນຖານແລ້ວມັນຫມາຍຄວາມວ່າເມື່ອ VBA ພົບຂໍ້ຜິດພາດກັບ On Error GoTo 0 , ມັນຈະຢຸດການແລ່ນລະຫັດ ແລະສະແດງກ່ອງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດແບບດັ້ງເດີມຂອງມັນ.

On Error GoTo 0 ຄໍາຖະແຫຼງໂດຍພື້ນຖານແລ້ວປິດການຈັດການຄວາມຜິດພາດໃນຂັ້ນຕອນປະຈຸບັນ. ມັນບໍ່ໄດ້ກໍານົດເສັ້ນ 0 ເປັນການເລີ່ມຕົ້ນຂອງລະຫັດການຈັດການຄວາມຜິດພາດ, ເຖິງແມ່ນວ່າວິທີການຈະລວມເອົາເສັ້ນເລກ 0.

ເບິ່ງລະຫັດຕໍ່ໄປນີ້:

7808

ພວກເຮົາມີ ສະແດງລະຫັດນີ້ໃຫ້ທ່ານເຫັນແລ້ວ. ລະຫັດນີ້ໂດຍພື້ນຖານແລ້ວເຊື່ອງແຜ່ນວຽກທັງໝົດໃນ​ປຶ້ມ​ວຽກ​ປະ​ຈຸ​ບັນ​ຂອງ​ທ່ານ​. ດຽວນີ້, ຂ້ອຍມີລະຫັດເພີ່ມເຕີມກັບ On Error GoTo 0 ເພື່ອສະແດງຂໍ້ຜິດພາດ. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ແລ່ນ​ລະ​ຫັດ​, ທ່ານ​ຈະ​ເຫັນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

ມັນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ຄວາມ​ຜິດ​ພາດ​ນີ້​ເນື່ອງ​ຈາກ​ວ່າ​ພວກ​ເຮົາ​ບໍ່​ສາ​ມາດ​ມີ​ຊີດ​ທີ່​ມີ​ຊື່​ດຽວ​ກັນ​ໃນ​ສະ​ຫມຸດ​ວຽກ​ງານ​.

2. VBA On Error GoTo line

ດຽວນີ້, ທ່ານຍັງສາມາດສັ່ງໃຫ້ Excel ແລ່ນສ່ວນຂອງລະຫັດອື່ນຖ້າມັນພົບຂໍ້ຜິດພາດໂດຍການໃຊ້ On Error GoTo line . ມັນບອກ Excel ໃຫ້ປະຕິບັດບາງອັນຫຼັງຈາກພົບຂໍ້ຜິດພາດ. ຖ້າລະຫັດຂອງພວກເຮົາເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນເວລາແລ່ນ, ມັນຈະຍ້າຍໄປແຖວ, ເຮັດໃຫ້ຕົວຈັດການຄວາມຜິດພາດທີ່ເຮັດວຽກຢູ່ໃນການປະຕິບັດ. ຈືຂໍ້ມູນການ, ເສັ້ນທີ່ກໍານົດຂອງທ່ານຕ້ອງຢູ່ໃນຂັ້ນຕອນທີ່ແນ່ນອນເປັນຄໍາຖະແຫຼງທີ່ On Error; ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນການລວບລວມ.

ກວດເບິ່ງລະຫັດຕໍ່ໄປນີ້:

8321

ທ່ານເຫັນລະຫັດໃນຕົວຢ່າງທີ່ຜ່ານມາ. ເມື່ອພວກເຮົາໃຊ້ On Error GoTo 0 , ມັນເຮັດໃຫ້ເກີດຄວາມຜິດພາດ. ແຕ່, ໃນທີ່ນີ້ພວກເຮົາໄດ້ປ່ຽນແທນມັນດ້ວຍ On Error GoTo line ຖະແຫຼງການ.

ຕອນນີ້, ໃຫ້ແລ່ນລະຫັດ ແລະທ່ານຈະເຫັນສິ່ງຕໍ່ໄປນີ້:

ຕາມທີ່ເຈົ້າສາມາດເຫັນໄດ້, ມັນບໍ່ໄດ້ສະແດງໃຫ້ພວກເຮົາເຫັນກ່ອງໂຕ້ຕອບຄວາມຜິດພາດມາດຕະຖານ. ແທນທີ່ຈະ, ມັນສະແດງກ່ອງຂໍ້ຄວາມແບບກຳນົດເອງທີ່ພວກເຮົາສ້າງຂຶ້ນໃນສ່ວນ error_handler . ເມື່ອ Excel ພົບຂໍ້ຜິດພາດ, ມັນຈະໂດດໄປຫາສ່ວນ error_handler ແລະສະແດງກ່ອງຂໍ້ຄວາມໃຫ້ພວກເຮົາ.

ພວກເຮົາຍັງໄດ້ໃຊ້ Exit Sub ໃນຂັ້ນຕອນດັ່ງກ່າວ.ຖ້າບໍ່ມີຊີດທີ່ມີຊື່ວ່າ “ VLOOKUP ”, ລະຫັດ VBA ຂອງພວກເຮົາຈະປ່ຽນຊື່ແຜ່ນທີ່ໃຊ້ງານ. ຫຼັງຈາກນັ້ນ, ພວກເຮົາຕ້ອງສໍາເລັດການປະຕິບັດທີ່ນີ້ເພາະວ່າພວກເຮົາບໍ່ຈໍາເປັນຕ້ອງດໍາເນີນການກັບຕົວຈັດການຄວາມຜິດພາດແລະສະແດງກ່ອງຂໍ້ຄວາມ.

VBA 'On Error' ບໍ່ເຮັດວຽກໃນ Excel

ບາງຄັ້ງ, ບໍ່ວ່າທ່ານຈະພະຍາຍາມໜັກປານໃດ, ວິທີການ On Error ຈະບໍ່ເຮັດວຽກ. ກ່ອນຫນ້ານີ້, ພວກເຮົາໄດ້ປະຕິບັດວິທີການ On Error ເພື່ອຈັດການກັບຄວາມຜິດພາດ. ແຕ່, ບາງຄັ້ງມັນຈະສະແດງຂໍ້ຜິດພາດເຖິງແມ່ນວ່າທ່ານໃຊ້ On Error Resume Next ຫຼື On Error GoTo 0 . ມັນອາດຈະມີຫຼາຍເຫດຜົນໃນລະຫັດຂອງທ່ານທີ່ທ່ານຕ້ອງແກ້ໄຂ. ຂ້ອຍຈະບໍ່ສະແດງໃຫ້ເຈົ້າເຫັນ.

ເຫດຜົນພື້ນຖານຂອງ VBA ' On Error' ບໍ່ເຮັດວຽກໃນ Excel ແມ່ນເປີດຕົວເລືອກ “Break on All Error” ໃນ Excel.<3

ເຮັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້ເພື່ອແກ້ໄຂ:

📌 ຂັ້ນຕອນ

  • ທຳອິດ, ໃຫ້ກົດ Alt+F11 ເທິງແປ້ນພິມຂອງທ່ານເພື່ອ ເປີດຕົວແກ້ໄຂ VBA.
  • ດຽວນີ້, ໃຫ້ຄລິກໃສ່ Tools > ຕົວເລືອກຕ່າງໆ.

  • ຫຼັງຈາກນັ້ນ, ໃຫ້ຄລິກໃສ່ແຖບ ທົ່ວໄປ ໃນແຖບ ຕົວເລືອກ box.

  • ຢູ່ນີ້, ທ່ານສາມາດເບິ່ງ, “ Break on All Errors ” ຖືກໝາຍຖືກແລ້ວ. ໂດຍພື້ນຖານແລ້ວມັນປ້ອງກັນທ່ານຈາກການຈັດການຄວາມຜິດພາດ.
  • ເພື່ອປ່ຽນແປງມັນ, ເລືອກເອົາທາງເລືອກ “ ທໍາລາຍຄວາມຜິດພາດທີ່ບໍ່ໄດ້ຈັດການ ” ແລະຄລິກໃສ່ ຕົກລົງ .

ຂ້ອຍຫວັງວ່າມັນຈະແກ້ໄຂບັນຫາຂອງ VBA “On Error” ບໍ່ເຮັດວຽກຢູ່ໃນ Excel.

ອ່ານເພີ່ມເຕີມ: ເຫດຜົນ ແລະການແກ້ໄຂ

Hugh West ເປັນຄູຝຶກ Excel ທີ່ມີປະສົບການສູງແລະນັກວິເຄາະທີ່ມີປະສົບການຫຼາຍກວ່າ 10 ປີໃນອຸດສາຫະກໍາ. ລາວຈົບປະລິນຍາຕີສາຂາບັນຊີ ແລະການເງິນ ແລະປະລິນຍາໂທສາຂາບໍລິຫານທຸລະກິດ. Hugh ມີຄວາມກະຕືລືລົ້ນໃນການສອນແລະໄດ້ພັດທະນາວິທີການສອນທີ່ເປັນເອກະລັກທີ່ງ່າຍຕໍ່ການຕິດຕາມແລະເຂົ້າໃຈ. ຄວາມຮູ້ຊ່ຽວຊານຂອງລາວກ່ຽວກັບ Excel ໄດ້ຊ່ວຍໃຫ້ນັກຮຽນແລະຜູ້ຊ່ຽວຊານຫລາຍພັນຄົນໃນທົ່ວໂລກປັບປຸງທັກສະຂອງເຂົາເຈົ້າແລະດີເລີດໃນອາຊີບຂອງພວກເຂົາ. ຜ່ານ blog ຂອງລາວ, Hugh ແບ່ງປັນຄວາມຮູ້ຂອງລາວກັບໂລກ, ສະຫນອງການສອນ Excel ຟຣີແລະການຝຶກອົບຮົມອອນໄລນ໌ເພື່ອຊ່ວຍໃຫ້ບຸກຄົນແລະທຸລະກິດສາມາດບັນລຸທ່າແຮງຂອງພວກເຂົາ.