: Aina Iliyobainishwa ya Mtumiaji Haijafafanuliwa katika Excel VBA (Suluhisho 2 za Haraka)

  • Shiriki Hii
Hugh West

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.

Hugh West ni mkufunzi na mchambuzi mwenye uzoefu wa juu wa Excel na uzoefu wa zaidi ya miaka 10 katika tasnia. Ana Shahada ya Kwanza katika Uhasibu na Fedha na Shahada ya Uzamili katika Utawala wa Biashara. Hugh ana shauku ya kufundisha na ameanzisha mbinu ya kipekee ya kufundisha ambayo ni rahisi kufuata na kuelewa. Ujuzi wake wa kitaalam wa Excel umesaidia maelfu ya wanafunzi na wataalamu ulimwenguni kote kuboresha ujuzi wao na kufaulu katika taaluma zao. Kupitia blogu yake, Hugh hushiriki ujuzi wake na ulimwengu, akitoa mafunzo ya bila malipo ya Excel na mafunzo ya mtandaoni ili kuwasaidia watu binafsi na biashara kufikia uwezo wao kamili.