: Tipus definit per l'usuari no definit a Excel VBA (2 solucions ràpides)

  • Comparteix Això
Hugh West

Un dels errors més habituals als quals ens enfrontem mentre treballem amb VBA a Excel és que el tipus definit per l'usuari no està definit. En aquest article, us mostraré per què es produeix aquest error i com resoldre'l.

Descarregueu el quadern de pràctiques

Descarregueu aquest quadern de pràctiques per fer exercici mentre feu exercici Esteu llegint aquest article.

Tipus definit per l'usuari no definit.xlsm

2 Causes i solucions per a Definit per l'usuari Tipus no definit a Excel VBA

Hi ha 2 problemes importants darrere d'aquest error que es troba amb freqüència a Excel VBA . Explorem-los amb detall i descobrim les maneres de resoldre’ls.

1. Error ortogràfic en declarar variables

Aquest és el motiu principal d'aquest error. La majoria de vegades, l'error “Tipus definit per l'usuari no definit” es produeix a causa d'un error ortogràfic mentre es declaren variables.

Mireu les línies de codis següents.

5009
.

Si executeu aquest codi, obtindreu un quadre d'error que us notificarà de la presència de l'error "Tipus definit per l'usuari no definit". Juntament, trobareu la segona línia del codi ressaltada en blau, on vaig escriure “strng” en lloc de “cadena” .

Espero que entenguis el punt. VBA no ha pogut reconèixer el tipus de variable “strng” , per això la va considerar com un tipus de variable nou i va pensar que l'heu definit en algun lloc. Però quan aixòTrobeu que no l'heu declarat enlloc, va generar un error.

Per tant, mentre executeu codis VBA senzills, si trobeu aquest error de totes maneres, primer comproveu totes les grafies dels vostres tipus de variables.

2. Falta de referència adequada

Aquesta és una altra causa d'aquest error. Això és una falta de referència adequada. De vegades fem servir alguns objectes als nostres codis que necessiten una referència adequada des del quadre de referència de Visual Basic . En cas contrari, VBA no reconeix l'objecte.

Mireu el codi VBA següent.

8790

Executeu aquest codi. Obtindreu el mateix error anterior "Tipus definit per l'usuari no definit", ressaltant l' objecte de diccionari . Això es deu al fet que VBA no ha pogut reconèixer l' objecte de diccionari i el va considerar com una variable definida per l'usuari, que no s'ha definit per error.

Ara la pregunta més gran és com es pot resoldre aquest error? Fàcil. Hi ha 2 maneres de resoldre aquest error.

⧪ Solució 1: comprovant la referència dels requisits previs al quadre de referència de la caixa visual

Aquest és el la manera més intel·ligent de resoldre aquest problema. Aneu a Eines > Botó Referències a la cinta Visual Basic . Feu clic a Referències .

S'obrirà un quadre de diàleg anomenat Referències . Desplaceu-vos i cerqueu Microsoft Scripting Runtime (Això depèn de l'objecte que feu servir. El Diccionariobject necessita que es reconegui Microsoft Scripting Runtime . Per tant, mentre utilitzeu un objecte en un codi VBA , heu de conèixer el seu requisit previ per ser reconegut per VBA. Visiteu aquest enllaç per obtenir més informació.). Comproveu-ho.

Ara torneu i executeu el codi. No rebràs cap error. Perquè VBA aquesta vegada pot reconèixer l' objecte de diccionari .

⧪ Solució 2: declarar-lo com un objecte pur en lloc d'un objecte específic

Hi ha una altra manera de resoldre aquest problema. Podeu declarar l'objecte com a objecte pur, en lloc d'un objecte de diccionari .

Observeu les línies de codis següents.

8110

Aquí he declarat la variable MyDictionary com un objecte simple, no un Diccionari. Ara, si executeu aquest codi, no obtindreu cap error.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.