Tabela e përmbajtjes
Një nga gabimet më të zakonshme që hasim gjatë punës me VBA në Excel është se lloji i përcaktuar nga përdoruesi nuk është i përcaktuar. Në këtë artikull, unë do t'ju tregoj pse shkaktohet ky gabim dhe si ta zgjidhni këtë gabim.
Shkarko Libër pune praktike
Shkarko këtë libër pune praktike për të ushtruar ndërkohë që po lexoni këtë artikull.
Lloji i përcaktuar nga përdoruesi nuk është përcaktuar.xlsm
2 Shkaqet dhe zgjidhjet për Përcaktuar nga përdoruesi Lloji nuk është përcaktuar në Excel VBA
Ka 2 çështje kryesore pas këtij gabimi që haset shpesh në Excel VBA . Le t'i shqyrtojmë ato në detaje dhe të zbulojmë mënyrat për t'i zgjidhur ato.
1. Gabim drejtshkrimor gjatë deklarimit të variablave
Kjo është arsyeja kryesore që qëndron pas këtij gabimi. Në shumicën e rasteve, gabimi “Lloji i përcaktuar nga përdoruesi nuk është i përcaktuar” shkaktohet për shkak të një gabimi drejtshkrimor gjatë deklarimit të variablave.
Shihni rreshtat e mëposhtëm të kodeve.
9130
Nëse e përdorni këtë kod, do të merrni një kuti gabimi që ju njofton për praninë e gabimit “Lloji i përcaktuar nga përdoruesi nuk është përcaktuar”. Së bashku me të, do të gjeni rreshtin e dytë të kodit të theksuar me blu, ku kam shkruar “strng” në vend të “string” .
Shpresoj ta keni kuptuar pikën. VBA nuk mund ta njihte llojin e ndryshores “strng” , prandaj e konsideroi atë si një lloj të ri variabli dhe mendoi se e keni përcaktuar diku. Por kur ajogjeta se nuk e ke deklaruar askund, ka shkaktuar një gabim.
Prandaj, gjatë ekzekutimit të kodeve të thjeshta VBA , nëse gjithsesi hasni këtë gabim, kontrolloni fillimisht të gjitha drejtshkrimet e llojeve të variablave tuaja.
2. Mungesa e referencës së duhur
Ky është një tjetër shkak pas këtij gabimi. Kjo është një mungesë e referencës së duhur. Ndonjëherë ne përdorim disa objekte në kodet tona që kanë nevojë për referencë të duhur nga kutia Visual Basic Reference . Përndryshe, VBA nuk e njeh objektin.
Shiko kodin e mëposhtëm VBA .
6644
Ekzekutoni këtë kod. Do të merrni të njëjtin gabim të vjetër "Lloji i përcaktuar nga përdoruesi nuk është përcaktuar", duke theksuar objektin e fjalorit . Kjo ndodh sepse VBA nuk mund ta njihte objektin e fjalorit dhe e konsideroi atë si një variabël të përcaktuar nga përdoruesi, i cili nuk është përcaktuar gabimisht.
Tani pyetja më e madhe është, si ta zgjidhim këtë gabim? Lehtë. Ka 2 mënyra për të zgjidhur këtë gabim.
⧪ Zgjidhja 1: Kontrollimi i referencës paraprake nga Kutia e Referencës Visual Box
Kjo është mënyra më e zgjuar për të zgjidhur këtë problem. Shkoni te Mjetet > Butoni Referencat në shiritin Visual Basic . Klikoni në Referencat .
Do të hapet një kuti dialogu e quajtur Referencat . Lëvizni dhe gjeni Microsoft Scripting Runtime (Kjo varet nga objekti që po përdorni. Fjaloriobjekti ka nevojë që Microsoft Scripting Runtime të njihet. Pra, ndërsa përdorni një objekt në një kod VBA , duhet të dini parakushtin e tij për t'u njohur nga VBA. Vizitoni këtë lidhje për më shumë informacion.). Kontrollojeni.
Tani kthehuni dhe ekzekutoni kodin. Nuk do të merrni asnjë gabim. Sepse VBA mund ta njohë objektin e fjalorit këtë herë.
⧪ Zgjidhja 2: Deklarimi si një objekt i pastër dhe jo një objekt specifik
Ka një mënyrë tjetër për ta zgjidhur këtë problem. Mund ta deklaroni objektin si një objekt të pastër, në vend të Objekt fjalori .
Vini re linjat e mëposhtme të kodeve.
3106
Këtu e kam deklaruar variablin Fjalori im si një objekt të thjeshtë, jo një Fjalor. Tani nëse e përdorni këtë kod, nuk do të merrni asnjë gabim.