ສາລະບານ
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະສະແດງໃຫ້ທ່ານເຫັນເຫດຜົນຂອງຄວາມຜິດພາດ “ Subscript out of Range ” ໃນ Excel VBA ແລະວິທີແກ້ໄຂບັນຫາເຫຼົ່ານັ້ນ.
ດາວໂຫລດແມ່ແບບການປະຕິບັດ
ທ່ານສາມາດດາວໂຫລດແມ່ແບບ Excel ການປະຕິບັດໄດ້ຟຣີຈາກບ່ອນນີ້.
Subscript Out of Range Error in VBA.xlsm
Subscript Out of Range Error ໃນ VBA ແມ່ນຫຍັງ?
VBA Subscript out of range error ເກີດຂຶ້ນເມື່ອພວກເຮົາພະຍາຍາມທີ່ຈະເຂົ້າເຖິງສະມາຊິກທີ່ບໍ່ມີຫຼືການເກັບກໍາອາເຣທີ່ບໍ່ມີຢູ່ໃນ Excel. ນີ້ແມ່ນປະເພດ “ Run-Time Error 9 ” ຂອງຂໍ້ຜິດພາດໃນ VBA coding ໃນ Excel.
ຄວາມຜິດພາດມັກຈະເປັນແບບນີ້,
5 ເຫດຜົນກັບການແກ້ໄຂຂໍ້ຜິດພາດຂອງ Subscript Out of Range ໃນ VBA
ພາກນີ້ຈະສົນທະນາ 5 ເຫດຜົນທົ່ວໄປທີ່ສຸດສໍາລັບການເກີດຂື້ນຂອງ subscript out of range error ແລະອັນໃດເປັນວິທີແກ້ໄຂມັນ.
1. Subscript Out of Range Error in VBA for Noexistent Workbook
ເມື່ອທ່ານພະຍາຍາມເຂົ້າຫາ Excel workbook ທີ່ບໍ່ໄດ້ເປີດ, ທ່ານຈະໄດ້ຮັບຄວາມຜິດພາດ “ Subscript out of range ”.
ຖ້າພວກເຮົາພະຍາຍາມ Run ລະຫັດທີ່ສະແດງໃຫ້ເຫັນຂ້າງເທິງ, ພວກເຮົາຈະໄດ້ຮັບຄວາມຜິດພາດເນື່ອງຈາກວ່າບໍ່ມີ Excel workbook ທີ່ມີຊື່ “ ການຂາຍ ” ທີ່ເປີດຢູ່ໃນຂະນະນີ້.
ການແກ້ໄຂ
ເພື່ອແກ້ໄຂຂໍ້ຜິດພາດນີ້, ທໍາອິດໃຫ້ເປີດປື້ມວຽກ Excel ທີ່ທ່ານຕ້ອງການເຂົ້າເຖິງແລະຫຼັງຈາກນັ້ນດໍາເນີນການ. ມະຫາພາກ.
2. Subscript Out of Range Error ໃນ VBA ສໍາລັບບໍ່ມີແຜ່ນວຽກ
ເມື່ອທ່ານພະຍາຍາມເຂົ້າເຖິງແຜ່ນງານທີ່ບໍ່ມີຢູ່ໃນປຶ້ມວຽກ Excel ແລ້ວທ່ານຍັງຈະໄດ້ຮັບຄວາມຜິດພາດ “ Subscript out of range ” ໃນ VBA. .
ຖ້າເຮົາພະຍາຍາມແລ່ນລະຫັດທີ່ສະແດງໃຫ້ເຫັນຂ້າງເທິງ, ພວກເຮົາຈະໄດ້ຮັບຄວາມຜິດພາດເນື່ອງຈາກວ່າບໍ່ມີ “ Sheet2 ” ແຜ່ນວຽກທີ່ມີຢູ່ໃນປື້ມວຽກຂອງພວກເຮົາ.
ການແກ້ໄຂ
ເພື່ອແກ້ໄຂຂໍ້ຜິດພາດນີ້, ທ່ານຈໍາເປັນຕ້ອງມີເອກະສານ Excel ທີ່ທ່ານຕ້ອງການເຂົ້າເຖິງໃນປື້ມວຽກທີ່ເຮັດວຽກຢູ່ ແລະ ຈາກນັ້ນແລ່ນ macro.
3. Subscript Out of Range Error in VBA for Undefined Array Elements
ຖ້າທ່ານບໍ່ກຳນົດຄວາມຍາວຂອງ Dynamic Array ດ້ວຍ ຄໍາ DIM ຫຼື REDIM ໃນ Excel VBA , ຫຼັງຈາກນັ້ນທ່ານຈະໄດ້ຮັບຄວາມຜິດພາດ “ Subscript out of range ”.
ໃນລະຫັດຂ້າງເທິງ, ພວກເຮົາໄດ້ປະກາດ Array ໃນມິຕິຈາກ 5 ຫາ 10 ແຕ່ອ້າງອີງເຖິງ subscript ຂອງດັດຊະນີ 3, ເຊິ່ງຕໍ່າກວ່າ 5.
ການແກ້ໄຂ
ເພື່ອແກ້ໄຂບັນຫານີ້, ປະກາດດັດຊະນີລະຫວ່າງຂະຫນາດ Array.
ຊິ້ນນີ້ e ຂອງລະຫັດເຮັດວຽກໄດ້ດີຢ່າງສົມບູນເພາະວ່າໃນທີ່ນີ້ພວກເຮົາໄດ້ກ່າວເຖິງ subscript ຂອງດັດຊະນີ 5, ເຊິ່ງຢູ່ໃນຂອບເຂດຂອງ 5 ຫາ 10.
4. Subscript Out of Range Error in VBA for Invalid Collection/ Array
ເມື່ອຕົວຂຽນຍ່ອຍໃຫຍ່ກວ່າ ຫຼືນ້ອຍກວ່າຂອບເຂດຂອງຕົວຍ່ອຍທີ່ເປັນໄປໄດ້, ຄວາມຜິດພາດ ຕົວຍ່ອຍຢູ່ນອກຂອບເຂດ ຈະເກີດຂຶ້ນ.
ເບິ່ງຕົວຢ່າງຂ້າງເທິງ, ພວກເຮົາປະກາດຕົວແປເປັນ Array, ແຕ່ແທນທີ່ຈະກໍານົດຈຸດເລີ່ມຕົ້ນແລະຈຸດສິ້ນສຸດ, ພວກເຮົາໄດ້ມອບຫມາຍໂດຍກົງກັບ array ທໍາອິດທີ່ມີຄ່າຂອງ 20.
Solution
To ແກ້ໄຂບັນຫານີ້, ພວກເຮົາຈໍາເປັນຕ້ອງກໍານົດຄວາມຍາວຂອງ array ດ້ວຍຈຸດເລີ່ມຕົ້ນແລະຈຸດສິ້ນສຸດ.
ລະຫັດນີ້ບໍ່ມີຂໍ້ຜິດພາດໃດໆເພາະວ່າຕອນນີ້ພວກເຮົາໄດ້ປະກາດ Array ແລ້ວ. ໂດຍມີຈຸດເລີ່ມຕົ້ນຂອງ 1 ແລະຈຸດສິ້ນສຸດຂອງ 5.
5. Subscript Out of Range Error in VBA for Shorthand Script
ຖ້າທ່ານໃຊ້ shorthand ຈາກ a subscript ແລະມັນຫມາຍເຖິງອົງປະກອບທີ່ບໍ່ຖືກຕ້ອງຫຼັງຈາກນັ້ນທ່ານຈະໄດ້ຮັບຄວາມຜິດພາດ “ Subscript out of range ” ໃນ Excel VBA . ຕົວຢ່າງ, [A2] ແມ່ນຫຍໍ້ມາຈາກ ActiveSheet.Range(A2) .
ການແກ້ໄຂ
ເພື່ອແກ້ໄຂ ນີ້, ທ່ານຕ້ອງໃຊ້ ຊື່ຄີ ແລະ ດັດຊະນີ ທີ່ຖືກຕ້ອງສໍາລັບການລວບລວມ. ແທນທີ່ຈະຂຽນ ActiveSheet.Range(A2) , ທ່ານພຽງແຕ່ສາມາດຂຽນ [ A2 ].
ຂໍ້ໄດ້ປຽບຂອງ Excel Subscript Out of Range Error ໃນ VBA
- VBA Subscript out of range error ຫຼື “ Run-Time Error 9 ” ມີປະໂຫຍດແທ້ໆໃນການລະບຸຕຳແໜ່ງຂອງຂໍ້ຜິດພາດທີ່ມັນເກີດຂຶ້ນ. ຢູ່ໃນລະຫັດ VBA .
- ຂໍ້ຜິດພາດນີ້ຊ່ວຍໃຫ້ຜູ້ໃຊ້ຊອກຫາປະເພດຂອງຂໍ້ຜິດພາດເພື່ອໃຫ້ເຂົາເຈົ້າສາມາດກວດສອບ ແລະຊອກຫາວິທີແກ້ໄຂຕາມລະຫັດຂໍ້ຜິດພາດ.
- ເນື່ອງຈາກຄວາມຜິດພາດນີ້ລວບລວມແຕ່ລະຂັ້ນຕອນຂອງລະຫັດເພື່ອຊີ້ບອກພວກເຮົາວ່າສ່ວນໃດຂອງລະຫັດທີ່ພວກເຮົາຕ້ອງການຕົວຈິງເພື່ອດໍາເນີນການ, ສະນັ້ນມັນດີກວ່າທີ່ຈະລວບລວມແຕ່ລະແຖວຂອງລະຫັດຫນຶ່ງຄັ້ງໂດຍການກົດປຸ່ມ F8 ຖ້າທ່ານມີລະຫັດຂະຫນາດໃຫຍ່.
ບົດຄວາມນີ້ໄດ້ສະແດງໃຫ້ທ່ານເຫັນເຫດຜົນ ແລະການແກ້ໄຂຂອງ Excel Subscript out of range error ໃນ VBA. ຂ້ອຍຫວັງວ່າບົດຄວາມນີ້ຈະເປັນປະໂຫຍດຫຼາຍຕໍ່ເຈົ້າ. ທ່ານສາມາດຖາມຄໍາຖາມໃດໆກ່ຽວກັບຫົວຂໍ້.