Excel VBA Error 1004

El error VBA 1004 es un error que encontramos mientras ejecutamos un código en VBA, también se conoce como error de tiempo de ejecución de VBA. Mientras trabajamos en VBA o en cualquier otro lenguaje de programación o incluso en nuestro trabajo diario, encontramos diferentes tipos de errores. A veces, incluso omitimos un solo carácter en el código, lo que hace que todo el código no funcione o tal vez todo el código está mal.

Los errores son definitivamente una parte del código que escribimos. Puede ser involuntario pero existen. No importa cuán profesionales seamos en la codificación, el error de tiempo de ejecución puede ocurrir en cualquier lugar. Como se explicó anteriormente, el error VBA 1004 es un error que ocurre durante el tiempo de ejecución del código en Excel. También se llama un error definido por la aplicación o definido por el objeto.

Hay diferentes tipos de razones por las que recibimos VBA Runtime Error 1004 en Excel, aprendamos algunas de ellas.

  • VBA Runtime Error 1004: Error en el método 'Rango' del objeto '_ Global':

Este error ocurre cuando el valor del rango al que nos referimos con VBA es incorrecto. También se llama como el método "Rango" del objeto '_ Global' falló.

  • VBA Run Time Error 1004: ese nombre ya está en uso. Pruebe con uno diferente:

Le damos el mismo nombre a una hoja de trabajo que ya está tomada por otra hoja de trabajo.

  • VBA Runtime Error 1004: no se puede obtener la propiedad select de la clase Range:

Este es un error cuando seleccionamos un rango en otra hoja de trabajo sin activar la hoja de trabajo a la que nos referimos.

  • Error de tiempo de ejecución de VBA 1004: Error en el método 'Abrir' del objeto 'Libros de trabajo':

Este error ocurre cuando intentamos abrir un libro de trabajo que ya está abierto o el archivo ya lo está utilizando otro programa.

  • VBA Runtime Error 1004: Lo sentimos, no pudimos encontrar:

Recibimos este error cuando intentamos abrir una hoja de trabajo que no existe.

Como hemos aprendido, puede haber varias razones por las que recibimos un error de tiempo de ejecución. Se puede producir un error de tiempo de ejecución en cualquier línea de código. Necesitamos aprender a manejar estos errores y se llama VBA Error Handling.

Ejemplo de error de tiempo de ejecución de VBA 1004 en Excel

Ahora, como he descrito diferentes tipos de error que pueden ocurrir durante el tiempo de ejecución de cualquier código VBA, ahora aprendamos cómo aparecen con ejemplos.

Puede descargar esta plantilla Excel de error VBA 1004 aquí - Plantilla Excel de error VBA 1004

VBA Runtime Error 1004 - Ejemplo # 1

Como se explicó sobre este error, este error ocurre cuando nos referimos a un valor de rango con nombre incorrecto en VBA. Esto puede suceder si cometemos un error de ortografía del rango con nombre para referir un rango que ni siquiera existe. Para demostrar esto, hagamos primero un rango con nombre. Tengo los siguientes datos aquí.

  • Pongamos el nombre de este encabezado de tabla como DATOS .

  • Vaya a la pestaña Desarrollador, haga clic en Visual Basic para abrir VB Editor.

  • Declare la subfunción para comenzar a escribir el código.

Código:

 Sub muestra () End Sub 

  • Llame al encabezado que nombramos con el siguiente código escrito a continuación.

Código:

 Submuestra () Rango ("Datos"). Seleccione End Sub 

  • Cuando ejecutamos el código, podemos ver en el Excel que se ha seleccionado ya que hemos llamado al encabezado correctamente.

  • Ahora escribimos mal la ortografía del nombre del encabezado.

Código:

 Submuestra () Rango ("Dataa"). Seleccione End Sub 

  • Ejecute el código nuevamente para ver el resultado.

Obtenemos Excel VBA Runtime Error 1004 porque hemos escrito mal el nombre del rango.

VBA Runtime Error 1004 - Ejemplo # 2

Recibimos este error cuando intentamos cambiar el nombre de una hoja de trabajo con un nombre que ya está en uso. Por ejemplo, he cambiado el nombre de la hoja 1 como " Anand " e intentaré cambiar el nombre de la hoja 2 de la misma manera y ver el resultado.

  • Vaya a la pestaña Desarrollador, haga clic en Visual Basic para abrir VB Editor.
  • Declare una subfunción para comenzar a escribir el código.

Código:

 Sub Sample1 () End Sub 

  • Intente renombrar la hoja 2 como Anand con el siguiente código a continuación,

Código:

 Sub Sample1 () Hojas de trabajo ("Sheet2"). Name = "Anand" End Sub 

  • Ejecute el código anterior y vea el resultado.

Cuando intento cambiar el nombre de una hoja con el nombre que ya está en uso, aparece un error.

VBA Runtime Error 1004 - Ejemplo # 3

Intentaré agregar el valor de la hoja 2 a una variable en la hoja 3. Pero no activaré la hoja 2 y veré qué sucede.

  • Vaya a la pestaña Desarrollador, haga clic en Visual Basic para abrir VB Editor.
  • Declare una subfunción para comenzar a escribir el código.

Código:

 Sub Sample2 () End Sub 

  • Declare dos variables A y B como un entero.

Código:

 Sub Sample2 () Dim A como entero Dim B como entero Fin Sub 

  • En la Variable B, almacene el valor de A además de la celda A1 de la hoja 2.

Código:

 Submuestra2 () Dim A como entero Dim B como entero B = A + Hojas de trabajo ("Hoja2"). Rango ("A1"). Seleccione End Sub 

  • Supongamos que el código funciona y usamos la función msgbox para mostrar el valor de B.

Código:

 Submuestra2 () Dim A como entero Dim B como entero B = A + Hojas de trabajo ("Hoja2"). Rango ("A1"). Seleccione MsgBox B End Sub 

  • Ejecute el código para ver el resultado obtenido.

Recibimos este error porque no hemos activado la hoja 2 pero estamos tratando de usar un valor de la hoja 2.

VBA Runtime Error 1004 - Ejemplo # 4

Nos encontramos con este error de tiempo de ejecución cuando ya tenemos el mismo nombre de libro abierto pero intentamos abrirlo nuevamente.

Para este ejemplo, ya he cambiado el nombre de mi libro de trabajo como VBA 1004 Error.xlsm e intentaré abrirlo nuevamente, que ya está abierto, y ver si obtengo el error VBA 1004.

  • Vaya a la pestaña Desarrollador, haga clic en Visual Basic para abrir VB Editor.
  • Declare una subfunción para comenzar a escribir el código.

Código:

 Sub Sample3 () End Sub 

  • Declarar una variable como el libro de trabajo.

Código:

 Sub Sample3 () Dim A As Workbook End Sub 

Intente abrir el libro de trabajo que ya hemos abierto con el siguiente código.

Código:

 Sub Sample3 () Dim A como Workbook Set wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub 

Ejecute el código anterior para ver el resultado.

Recibimos este error porque ya hemos abierto el mismo libro de trabajo.

VBA Runtime Error 1004 - Ejemplo # 5

Recibimos este error cuando intentamos abrir un libro que no existe. Esto es algo similar al error anterior que recibimos ya que VBA no puede encontrar el libro de trabajo.

  • Vaya a la pestaña Desarrollador, haga clic en Visual Basic para abrir VB Editor.
  • Declare una subfunción para comenzar a escribir el código.

Código:

 Sub Sample4 () End Sub 

  • Intenta abrir cualquier libro de trabajo con el siguiente código,

Código:

 Sub Sample4 () Workbooks.Open Filename: = "C: \ EDUCBA Content \ April \ VBA OR Function.xlsm" End Sub 

  • Ya he eliminado la hoja de la ubicación.
  • Ejecute el código para ver el resultado.

Como la hoja no existe en la ubicación dada, obtenemos este error.

Cosas para recordar

  • Siempre revise si hay errores ortográficos.
  • No cambie el nombre de varias hojas de trabajo con el mismo nombre.
  • Antes de llamar a cualquier otra referencia, asegúrese de activar la hoja de trabajo correspondiente.
  • Antes de intentar abrir cualquier otra hoja de trabajo, asegúrese de que la ruta proporcionada sea correcta.

Artículos recomendados

Esta ha sido una guía para el error VBA 1004. Aquí discutimos Excel VBA Runtime Error 1004 junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Agregar o quitar barra de error en Excel
  2. VBA While Loop | MS Excel
  3. Comprender los errores en Excel
  4. Usando IFError en VBA

Categoría: