: Uzanto Difinita Tipo Ne Difinita en Excel VBA (2 Rapidaj Solvoj)

  • Kundividu Ĉi Tion
Hugh West

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.

Hugh West estas tre sperta Excel-trejnisto kaj analizisto kun pli ol 10 jaroj da sperto en la industrio. Li tenas bakalaŭron en Kontado kaj Financo kaj magistron en Komercadministracio. Hugh havas entuziasmon por instruado kaj evoluigis unikan instruan aliron kiu estas facile sekvi kaj kompreni. Lia sperta scio pri Excel helpis milojn da studentoj kaj profesiuloj tutmonde plibonigi siajn kapablojn kaj elstari en siaj karieroj. Per sia blogo, Hugh dividas sian scion kun la mondo, proponante senpagajn Excel-lernilojn kaj interretan trejnadon por helpi individuojn kaj entreprenojn atingi sian plenan potencialon.