Jedwali la yaliyomo
Mojawapo ya makosa ya kawaida tunayokumbana nayo tunapofanya kazi na VBA katika Excel ni kwamba aina iliyobainishwa na mtumiaji haijafafanuliwa. Katika makala haya, nitakuonyesha ni kwa nini hitilafu hii imesababishwa na jinsi ya kutatua hitilafu hii.
Pakua Kitabu cha Mazoezi
Pakua kitabu hiki cha mazoezi ili ufanye mazoezi wakati unafanya mazoezi. wanasoma makala haya.
Aina Iliyoainishwa na Mtumiaji Haijafafanuliwa.xlsm
2 Sababu na Suluhu kwa Iliyobainishwa na Mtumiaji Andika Haijafafanuliwa katika Excel VBA
Kuna 2 masuala makuu nyuma ya hitilafu hii inayopatikana mara kwa mara katika Excel VBA . Hebu tuyachunguze kwa kina na tujue njia za kuyatatua.
1. Hitilafu ya Tahajia Wakati wa Kutangaza Vigezo
Hii ndiyo sababu kuu ya kosa hili. Mara nyingi, hitilafu “Aina Iliyobainishwa na Mtumiaji haijabainishwa” husababishwa na hitilafu ya tahajia wakati wa kutangaza vigeu.
Angalia mistari ifuatayo ya misimbo.
3237
Ukiendesha msimbo huu, utapata kisanduku cha hitilafu kukujulisha kuwepo kwa hitilafu “Aina Iliyobainishwa na Mtumiaji Haijabainishwa”. Pamoja nayo, utapata mstari wa pili wa msimbo ulioangaziwa kwa bluu, ambapo niliandika “strng” badala ya “string” .
Natumai utapata uhakika. VBA haikuweza kutambua aina ya kutofautisha "strng" , ndiyo maana iliiona kama aina mpya ya kutofautisha na ikafikiri kuwa umeifafanua mahali fulani. Lakini wakatiiligundua kuwa haujaitangaza popote, ilizua hitilafu.
Kwa hivyo, wakati unaendesha misimbo VBA rahisi, ukikumbana na hitilafu hii kwa vyovyote vile, kwanza angalia tahajia zote za aina zako tofauti.
2. Ukosefu wa Marejeleo Sahihi
Hii ni sababu nyingine nyuma ya hitilafu hii. Huko ni ukosefu wa marejeleo sahihi. Wakati mwingine tunatumia baadhi ya vitu katika misimbo yetu ambavyo vinahitaji marejeleo sahihi kutoka kwa kisanduku cha Marejeleo ya Msingi ya Visual . Vinginevyo, VBA haitambui kifaa.
Angalia VBA msimbo ufuatao.
3545
Tumia msimbo huu. Utapata hitilafu sawa ya zamani "Aina Iliyofafanuliwa na Mtumiaji haijafafanuliwa", kuangazia Kipengee cha Kamusi . Hii ni kwa sababu VBA haikuweza kutambua Kipengele cha Kamusi , na kukichukulia kama kigezo kilichobainishwa na mtumiaji, ambacho hakijafafanuliwa kimakosa.
Sasa swali kuu ni, jinsi ya kutatua hitilafu hii? Rahisi. Kuna 2 njia za kutatua hitilafu hii.
⧪ Suluhisho la 1: Kukagua Rejeleo la Mahitaji kutoka kwa Kisanduku cha Marejeleo cha Kisanduku cha Visual
Hii ndiyo njia ya busara zaidi ya kutatua shida hii. Nenda kwa Zana > Kitufe cha Marejeleo katika utepe wa Visual Basic . Bofya kwenye Marejeleo .
Sanduku la mazungumzo linaloitwa Marejeleo litafunguka. Tembeza na utafute Muda wa Kuendesha Hati wa Microsoft (Hii inategemea kifaa unachotumia. Kamusiobject inahitaji Microsoft Scripting Runtime kutambuliwa. Kwa hivyo, unapotumia kitu katika msimbo wa VBA , lazima ujue sharti lake kutambuliwa na VBA. Tembelea kiungo hiki kwa maelezo zaidi.). Iangalie.
Sasa rudi na utekeleze msimbo. Hutapata makosa yoyote. Kwa sababu VBA inaweza kutambua Kipengee cha Kamusi wakati huu.
⧪ Suluhisho la 2: Kukitangaza kama Kitu Kisafi badala ya Kitu Maalum
Kuna njia nyingine ya kutatua tatizo hili. Unaweza kutangaza kitu kama kitu safi, badala ya Kipengele cha Kamusi .
Angalia mistari ifuatayo ya misimbo.
8563
Hapa nimetangaza kutofautisha MyDictionary kama kitu rahisi, si Kamusi. Sasa ukiendesha msimbo huu, hutapata hitilafu yoyote.