: ຜູ້ໃຊ້ກໍານົດປະເພດບໍ່ໄດ້ກໍານົດໃນ Excel VBA (2 ການແກ້ໄຂດ່ວນ)

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

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

ຜູ້ໃຊ້ກໍານົດປະເພດ Not Defined.xlsm

2 ສາເຫດ ແລະການແກ້ໄຂຕໍ່ກັບ ຜູ້ໃຊ້ກໍານົດ ປະເພດບໍ່ໄດ້ກໍານົດໄວ້ໃນ Excel VBA

ມີ 2 ບັນຫາໃຫຍ່ທີ່ຢູ່ເບື້ອງຫຼັງຄວາມຜິດພາດທີ່ພົບເລື້ອຍໆນີ້ໃນ Excel VBA . ມາສຳຫຼວດພວກມັນຢ່າງລະອຽດ ແລະຊອກຫາວິທີແກ້ໄຂບັນຫາພວກມັນ.

1. ຄວາມຜິດພາດການສະກົດຄໍາໃນຂະນະທີ່ປະກາດຕົວແປ

ນີ້ແມ່ນເຫດຜົນສໍາຄັນທີ່ຢູ່ເບື້ອງຫລັງຄວາມຜິດພາດນີ້. ສ່ວນຫຼາຍແລ້ວ, ຂໍ້ຜິດພາດ “User-Defined Type not Defined” ແມ່ນເກີດມາຈາກຄວາມຜິດພາດການສະກົດຄໍາໃນຂະນະທີ່ປະກາດຕົວແປ.

ເບິ່ງແຖວຂອງລະຫັດຕໍ່ໄປນີ້.

9937
.

ຫາກ​ທ່ານ​ແລ່ນ​ລະ​ຫັດ​ນີ້, ທ່ານ​ຈະ​ໄດ້​ຮັບ​ກ່ອງ​ຂໍ້​ຜິດ​ພາດ​ແຈ້ງ​ໃຫ້​ທ່ານ​ຊາບ​ກ່ຽວ​ກັບ​ການ​ມີ​ຂໍ້​ຜິດ​ພາດ “ປະ​ເພດ​ທີ່​ລະ​ບຸ​ໂດຍ​ຜູ້​ໃຊ້​ບໍ່​ໄດ້​ລະ​ບຸ”. ຄຽງຄູ່ກັບມັນ, ເຈົ້າຈະພົບເຫັນແຖວທີສອງຂອງລະຫັດທີ່ເນັ້ນເປັນສີຟ້າ, ບ່ອນທີ່ຂ້ອຍຂຽນ “strng” ແທນທີ່ຂອງ “string” .

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

ດັ່ງນັ້ນ, ໃນຂະນະທີ່ແລ່ນລະຫັດ VBA ງ່າຍໆ, ຖ້າທ່ານພົບຂໍ້ຜິດພາດນີ້, ທໍາອິດໃຫ້ກວດເບິ່ງການສະກົດຄໍາທັງຫມົດຂອງປະເພດຕົວແປຂອງທ່ານ.

2. ການຂາດການອ້າງອີງທີ່ຖືກຕ້ອງ

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

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

9517

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

ຕອນນີ້ຄຳຖາມໃຫຍ່ທີ່ສຸດແມ່ນ, ວິທີການແກ້ໄຂຂໍ້ຜິດພາດນີ້? ງ່າຍ. ມີ 2 ວິທີທີ່ຈະແກ້ໄຂຂໍ້ຜິດພາດນີ້.

⧪ ວິທີແກ້ໄຂບັນຫາ 1: ກວດສອບການອ້າງອີງເບື້ອງຕົ້ນຈາກກ່ອງອ້າງອີງຂອງ Visual Box

ນີ້ແມ່ນ ວິທີທີ່ສະຫລາດທີ່ສຸດເພື່ອແກ້ໄຂບັນຫານີ້. ໄປທີ່ Tools > ປຸ່ມອ້າງອີງ ໃນໂບ Visual Basic . ຄລິກທີ່ References .

ກ່ອງໂຕ້ຕອບທີ່ເອີ້ນວ່າ References ຈະເປີດຂຶ້ນ. ເລື່ອນ​ແລະ​ຊອກ​ຫາ Microsoft Scripting Runtime (ອັນ​ນີ້​ຂຶ້ນ​ຢູ່​ກັບ​ວັດ​ຖຸ​ທີ່​ທ່ານ​ກໍາ​ລັງ​ໃຊ້. The ວັດ​ຈະ​ນາ​ນຸ​ກົມobject ຕ້ອງການ Microsoft Scripting Runtime ເພື່ອຮັບຮູ້. ດັ່ງນັ້ນ, ໃນຂະນະທີ່ໃຊ້ວັດຖຸໃນລະຫັດ VBA , ທ່ານຕ້ອງຮູ້ເງື່ອນໄຂເບື້ອງຕົ້ນຂອງມັນເພື່ອຮັບຮູ້ໂດຍ VBA. ເຂົ້າເບິ່ງລິ້ງນີ້ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.). ກວດເບິ່ງມັນ.

ດຽວນີ້ກັບມາແລະແລ່ນລະຫັດ. ທ່ານຈະບໍ່ໄດ້ຮັບຂໍ້ຜິດພາດໃດໆ. ເນື່ອງຈາກວ່າ VBA ສາມາດຮັບຮູ້ ວັດຈະນານຸກົມ ໃນເວລານີ້.

⧪ ການແກ້ໄຂ 2: ປະກາດມັນເປັນວັດຖຸທີ່ບໍລິສຸດ ແທນທີ່ຈະເປັນວັດຖຸສະເພາະ

ມີວິທີອື່ນເພື່ອແກ້ໄຂບັນຫານີ້. ທ່ານສາມາດປະກາດວັດຖຸເປັນວັດຖຸບໍລິສຸດໄດ້, ແທນທີ່ຈະເປັນ ວັດຖຸວັດຈະນານຸກົມ .

ໃຫ້ສັງເກດເສັ້ນລະຫັດຕໍ່ໄປນີ້.

4810

ໃນທີ່ນີ້ຂ້ອຍໄດ້ປະກາດຕົວແປ MyDictionary ເປັນວັດຖຸທີ່ງ່າຍດາຍ, ບໍ່ແມ່ນ ວັດຈະນານຸກົມ. ດຽວນີ້ຖ້າທ່ານແລ່ນລະຫັດນີ້, ທ່ານຈະບໍ່ມີຂໍ້ຜິດພາດໃດໆ.

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