Enhavtabelo
Unu el la plej oftaj eraroj, kiujn ni renkontas dum laborado kun VBA en Excel, estas ke la uzant-difinita tipo ne estas difinita. En ĉi tiu artikolo, mi montros al vi kial ĉi tiu eraro estas kaŭzita kaj kiel solvi ĉi tiun eraron.
Elŝutu Praktikan Laborlibron
Elŝutu ĉi tiun praktikan laborlibron por ekzerci dum vi legas ĉi tiun artikolon.
Uzanto-Defined Type Not Defined.xlsm
2 Kaŭzoj kaj Solvoj al Uzanto Difinita Tajpu Ne Difinite en Excel VBA
Estas 2 gravaj problemoj malantaŭ ĉi tiu ofte renkontita eraro en Excel VBA . Ni esploru ilin detale kaj eltrovu la manierojn solvi ilin.
1. Literuma eraro dum deklarado de variabloj
Jen la ĉefa kialo malantaŭ ĉi tiu eraro. Plej ofte, la eraro “Uzanto-Difinita Tipo ne Difinita” estas kaŭzita de literumo eraro dum deklarado de variabloj.
Rigardu la sekvajn liniojn de kodoj.
3973
Se vi rulas ĉi tiun kodon, vi ricevos erarkeston informantan vin pri la ĉeesto de la eraro “Uzanto-Difinita Tipo Ne Difinita”. Kun ĝi, vi trovos la duan linion de la kodo emfazita en blua, kie mi skribis “strng” anstataŭ “string” .
Mi esperas, ke vi komprenas. VBA ne povis rekoni la varian tipon “strng” , tial ĝi konsideris ĝin kiel novan varian tipon kaj pensis, ke vi difinis ĝin ie. Sed kiam ĝitrovis ke vi ne deklaris ĝin ie ajn, ĝi estigis eraron.
Sekve, dum vi ruliĝas simplajn VBA -kodojn, se vi ĉiaokaze renkontas ĉi tiun eraron, unue kontrolu ĉiujn literumojn de viaj variaj tipoj.
2. Manko de Taŭga Referencado
Ĉi tio estas alia kaŭzo malantaŭ ĉi tiu eraro. Tio estas manko de taŭga referencado. Kelkfoje ni uzas iujn objektojn en niaj kodoj, kiuj bezonas taŭgan referencon el la Vida Baza Referenca skatolo . Alie, VBA ne rekonas la objekton.
Rigardu la sekvan VBA kodon.
4525
Rulu ĉi tiun kodon. Vi ricevos la saman malnovan eraron "Uzanto-Difinita Tipo ne Difinita", substrekante la Vortaran objekton . Ĉi tio estas ĉar VBA ne povis rekoni la Vortaran objekton , kaj konsideris ĝin kiel uzant-difinitan variablon, kiu ne estis erare difinita.
Nun la plej granda demando estas, kiel solvi ĉi tiun eraron? Facila. Estas 2 manieroj solvi ĉi tiun eraron.
⧪ Solvo 1: Kontroli la Antaŭkondiĉan Referencon el la Vida Skatolo Referenca Skatolo
Ĉi tiu estas la plej inteligenta maniero solvi ĉi tiun problemon. Iru al la Iloj > Referencoj butono en la Visual Basic rubando. Klaku sur Referencoj .
Dialogkesto nomata Referencoj malfermiĝos. Rulumu kaj trovu Microsoft Scripting Runtime (Tio dependas de la objekto, kiun vi uzas. La Vortaroobjekto bezonas Microsoft Scripting Runtime por esti rekonita. Do, dum vi uzas objekton en VBA kodo, vi devas scii ĝian antaŭkondiĉon por esti rekonita de VBA. Vizitu ĉi tiun ligilon por pliaj informoj.). Kontrolu ĝin.
Nun revenu kaj rulu la kodon. Vi ne ricevos erarojn. Ĉar VBA povas ĉi-foje rekoni la Vortaran objekton .
⧪ Solvo 2: Deklari ĝin kiel Puran Objekton anstataŭ Specifan Objekton
Estas alia maniero solvi ĉi tiun problemon. Vi povas deklari la objekton kiel pura objekto, prefere ol Vortara objekto .
Rimarku la sekvajn kodliniojn.
4357
Ĉi tie mi deklaris la variablon MiaVortaro kiel simpla objekto, ne Vortaro. Nun se vi rulas ĉi tiun kodon, vi ne ricevos eraron.