Агуулгын хүснэгт
Excel дээр VBA -тэй ажиллахад бидэнд тохиолддог хамгийн нийтлэг алдаа бол хэрэглэгчийн тодорхойлсон төрөл тодорхойлогдоогүй байдаг. Энэ нийтлэлд би энэ алдаа яагаад үүссэн болон энэ алдааг хэрхэн шийдвэрлэх талаар танд харуулах болно.
Дасгал хийх ажлын номыг татаж авах
Дадлага хийхдээ дасгал хийхдээ энэ номыг татаж аваарай. Энэ нийтлэлийг уншиж байна.
Хэрэглэгчийн тодорхойлсон төрөл Тодорхойгүй.xlsm
2 Шалтгаан ба шийдэл Хэрэглэгчийн тодорхойлсон Excel VBA-д төрөл тодорхойлогдоогүй
Excel VBA дээр байнга гардаг энэхүү алдааны цаана 2 гол асуудал байдаг. Тэдгээрийг нарийвчлан судалж, шийдвэрлэх арга замыг олж мэдье.
1. Хувьсагчдыг зарлах үеийн зөв бичгийн алдаа
Энэ алдааны гол шалтгаан нь энэ юм. Ихэнх тохиолдолд “Хэрэглэгчийн тодорхойлсон төрөл тодорхойлогдоогүй” алдаа нь хувьсагчдыг зарлах үед зөв бичгийн дүрмийн алдаанаас үүдэлтэй байдаг.
Дараах мөрийн кодыг харна уу.
1690
Хэрэв та энэ кодыг ажиллуулбал “Хэрэглэгчийн тодорхойлсон төрөл тодорхойлогдоогүй” гэсэн алдаа байгааг мэдэгдэх алдааны хайрцаг гарч ирнэ. Үүний хажуугаар та цэнхэр өнгөөр тодруулсан кодын хоёр дахь мөрийг олох болно, энд би “string” -ын оронд “strng” гэж бичсэн.
Та бүхнийг ойлгосон байх гэж найдаж байна. VBA нь “strng” хувьсагчийн төрлийг таньж чадаагүй тул үүнийг шинэ хувьсагчийн төрөл гэж үзэн, таныг хаа нэгтээ тодорхойлсон гэж бодсон. Гэхдээ хэзээТаныг үүнийг хаана ч зарлаагүй байгааг олж мэдсэн тул алдаа гарлаа.
Тиймээс энгийн VBA кодуудыг ажиллуулж байхдаа ямар нэгэн байдлаар энэ алдаатай тулгарвал эхлээд хувьсагчийн төрлүүдийн зөв бичгийн дүрмийг шалгана уу.
2. Зөв лавлагаа дутмаг
Энэ нь энэ алдааны өөр нэг шалтгаан юм. Энэ нь зохих лавлагааны дутагдал юм. Заримдаа бид кодууддаа Visual Basic Reference box -аас зохих лавлагаа авах шаардлагатай зарим объектыг ашигладаг. Үгүй бол VBA объектыг танихгүй.
Дараах VBA кодыг харна уу.
1913
Энэ кодыг ажиллуул. Та ижил хуучин алдааг хүлээн авах болно “Хэрэглэгчийн тодорхойлсон төрөл тодорхойлогдоогүй”, Толь бичгийн объектыг онцлон тэмдэглэв . Учир нь VBA нь Толь бичгийн объект -ыг таньж чадаагүй бөгөөд үүнийг хэрэглэгчийн тодорхойлсон хувьсагч гэж үзсэн бөгөөд алдаагаар тодорхойлогдоогүй байна.
Одоо хамгийн том асуулт бол энэ алдааг хэрхэн шийдэх вэ? Хялбар. Энэ алдааг шийдэх 2 арга бий.
⧪ Шийдэл 1: Visual Box лавлагааны хайрцгаас урьдчилсан нөхцөлийн лавлагааг шалгах
Энэ нь Энэ асуудлыг шийдэх хамгийн ухаалаг арга. Хэрэгслүүд > Visual Basic туузан дээрх References товч. Лавлагаа дээр дарна уу.
Лавлагаа гэсэн харилцах цонх нээгдэнэ. Гүйлгээд Microsoft Scripting Runtime -г олоорой(Энэ нь таны ашиглаж буй объектоос хамаарна. Толь бичигОбъект нь танигдахын тулд Microsoft Scripting Runtime хэрэгтэй. Тиймээс VBA кодонд объектыг ашиглахдаа VBA-ээр танигдах урьдчилсан нөхцөлийг та мэдэх ёстой. Дэлгэрэнгүй мэдээллийг энэ холбоосоор орж авна уу.). Үүнийг шалгана уу.
Одоо буцаж ирээд кодыг ажиллуул. Та ямар ч алдаа авахгүй. Учир нь VBA энэ удаад Толь бичгийн объект -ийг таньж чадна.
⧪ Шийдэл 2: Үүнийг тодорхой объект биш цэвэр объект гэж зарлах нь
Энэ асуудлыг шийдэх өөр нэг арга бий. Та объектыг Толь бичгийн объект гэхээсээ илүү цэвэр объект гэж зарлаж болно.
Дараах кодын мөрүүдийг анхаарна уу.
3093
Энд би MyDictionary хувьсагчийг Толь бичиг биш энгийн объект гэж зарлалаа. Одоо та энэ кодыг ажиллуулбал алдаа гарахгүй.