Los códigos de error en las macros VBA de Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010Truco compatible con Excel 2007

En muchas ocasiones al crear macros de Visual Basic para Aplicaciones Excel, nos muestra un mensaje de error.

Te mostramos los códigos de error en las macros VBA de Excel que se pueden detectar.

Los códigos de error en las macros VBA de Excel: Se ha producido el error '13' en tiempo de ejecución.
CódigoTipo de error
3Devolver sin GoSub.
5Llamada de procedimiento o argumento no válida.
6Exceso o Desbordamiento Desbordamiento (por ejemplo, un valor demasiado grande para un número entero).
7Fuera de memoria. Este error no suele hacer referencia a la cantidad de memoria instalada en el sistema. Se refiere a un área de memoria de tamaño fijo utilizada por Windows o Excel (por ejemplo, el área utilizada para los gráficos o formatos personalizados).
9Subíndice fuera de rango. También se muestra si un elemento nombrado no se encuentra en una colección de objetos, por ejemplo, si su código hace referencia a Sheets (Hoja2") y Hoja2 no existe.
10Esta cadena es fija o está protegida temporalmente.
11División por cero.
13Los tipos no coinciden.
14Sin espacio de cadena.
16Expresión demasiado compleja.
17No se puede realizar la operación solicitada.
18Se produjo una interrupción por parte del usuario. El error se produce si el usuario interrumpe una macro pulsando la tecla Cancelar.
20Reanudar sin error. Este error indica que olvidó la instrucción Exit Sub antes de su código de control de errores.
28Sin espacio de pila.
35Sub o Function no definida.
47Demasiados clientes de aplicación DLL.
48Error al cargar DLL.
49Convención de llamada DLL no válida.
51Error interno.
52Nombre de archivo o número erróneo.
53Archivo no encontrado.
54Modo de archivo erróneo
55Archivo ya abierto.
57Error de Entrada/Salida de dispositivo.
58Archivo ya existente.
59Longitud de registro errónea.
61Disco lleno.
62La entrada supera el final del archivo.
63Número de registros erróneos.
67Demasiados archivos.
68Dispositivo no disponible.
70Permiso denegado.
71Disco no preparado.
74No se puede cambiar el nombre con una unidad diferente.
75Error de acceso a Ruta/Archivo.
76Ruta no encontrada.
91Variable de objeto o variable de bloque With sin configurar. Este error se produce si no utiliza Set al principio de una instrucción que crea una variable de objeto. También puede aparecer si se refiere a un objeto hoja de trabajo (como ActiveCell) cuando una hoja de gráfico está activada.
92Bucle For no inicializado.
93Cadena de patrón no válida.
94Uso no válido de Null.
96No se han podido eliminar eventos de objeto porque el objeto ya está desencadenando eventos al máximo número de receptores de eventos que admite.
97No se puede invocar la función de un objeto que no es una instancia de la clase definida.
98Una llamada de propiedad o método no puede incluir una referencia a objetos privados, ni como argumento ni como valor devuelto.
321Formato de archivo no válido.
322No se puede crear el archivo temporal necesario.
325Formato no válido en archivo de recurso.
380Valor de propiedad no válido.
381Índice de matriz de propiedades no válido.
382Set no se admite en el tiempo de ejecución.
383Set no se admite (propiedad sólo lectura).
385Necesita el incide de la matriz de propiedades.
387Set no se permite.
393Get no se admite en el tiempo de ejecución.
394Get no se admite (propiedad sólo escritura).
422Propiedad no encontrada.
423Propiedad o método no encontrado.
424Objeto obligatorio. Este error se produce si el texto que aparece delante de un punto no se reconoce como objeto.
429El componente ActiveX no puede crear el objeto (puede deberse a un problema de registro con una biblioteca a la que haya hecho referencia).
430Clase que no admite Automatización o no admite el interfaz esperado.
432Nombre de archivo o nombre de clase no encontrado en la operación de Automatización.
438El objeto no admite esta propiedad o método.
440Error de automatización.
442La conexión a una biblioteca de tipos o de objetos por proceso remoto se ha perdido. Pulsar Aceptar para eliminar la referencia.
443El objeto de automatización no tiene un valor predeterminado.
445El objeto no admite esta acción.
446El objeto no admite argumentos con nombre.
447El objeto no admite la configuración local actual.
448Argumento con nombre no encontrado.
449Argumento no opcional.
450Número de argumentos erróneo o asignación de propiedades no válida.
451Procedimiento Property Let no definido y procedimiento Property Get no devolvió un objeto.
452Ordinal no válido.
453Función DLL especificada no encontrada.
454Recurso de código no encontrado.
455Error de bloqueo de recurso de código.
457Tecla ya asociada a un elemento de esta colección.
458La variable utiliza un tipo de automatización no admitido en Visual Basic.
459El objeto o la clase no admite el conjunto de eventos.
460Formato de portapapeles no válido.
461Método o miembro de datos no encontrado.
462El servidor remoto no existe o no está disponible.
463Clase no registrada en el equipo local.
481Imagen no válida
482Error de impresión
735No se puede guardar el archivo en TEMP.
744Texto de búsqueda no encontrado.
746Reemplazos demasiado largos.
1004Error definido por la aplicación o también definido por el objeto. Se produce cuando un error no se corresponde a un error definido por VBA, es decir, el error es definido por Excel u otro objeto y se devuelve a VBA.
31001Memoria insuficiente.
31004Ningún objeto.
31018La clase no está establecida.
31027No se puede activar el objeto.
31032No se puede crear el objeto incrustado.
31036Error al guardar en archivo.
31037Error al cargar de archivo.

Los números de error no usados en el intervalo de 1 a 1000 están reservados para futuras
versiones de Visual Basic.

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA – Macros

2 comentarios en “Los códigos de error en las macros VBA de Excel

    • Hola Felix,

      En efecto como se indica en el título son los códigos de error junto a la descripción o a la causa por la que se produce. Respecto a la solución me temo que no existe ningún método para identificarlo, excepto revisando el código.

      Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *