ສາລະບານ
ໃນ 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.
ອ່ານເພີ່ມເຕີມ: ເຫດຜົນ ແລະການແກ້ໄຂ