Declaración de VBA GoTo

Declaración GoTo de Excel VBA

La instrucción VBA GoTo se utiliza cuando se produce un error al ejecutar el código en lugar de mostrar el error para reanudar la siguiente línea de código ignorando el mensaje de error. Hay dos tipos de declaraciones GOTO, una es para seleccionar cualquier rango de la hoja de trabajo en el libro de trabajo especificado y otra es el controlador de errores.

Para superar los errores anticipados en VBA, tenemos una función llamada "GOTO". Veremos ambos tipos de declaraciones GoTo en este artículo.

2 formas de usar la declaración GoTo en el código VBA

Puede descargar esta plantilla de Excel de VBA GoTo aquí - Plantilla de Excel de VBA GoTo

# 1 - Método Application.GoTo

Si desea ir al libro de trabajo específico o la hoja de trabajo específica en todos los libros de trabajo abiertos, podemos usar el método Application.GoTo de declaración.

Veamos la sintaxis del método Application.GoTo

  • [Referencia]: Esto no es más que una referencia de celda específica. Si la referencia no se proporciona de forma predeterminada, lo llevará al último rango de celdas utilizado.
  • [Scroll]: Esta es una declaración lógica de VERDADERO o FALSO. Si el valor es TRUE, se desplazará por la ventana, si el valor es FALSE, no se desplazará por la ventana.
Ejemplo

Si desea ir a una celda específica en la hoja de trabajo específica, podemos usar el método Goto. Tengo 3 hojas llamadas Jan, Feb y Mar.

Ahora, si quiero ir a la celda C5 en la hoja de enero, usaré el siguiente conjunto de código.

Paso 1: Inicie el nombre de la macro de Excel.

Código:

 Sub GoTo_Example1 () End Sub 

Paso 2: Inicie el método " Application.GoTo "

Código:

Sub GoTo_Example1 ()

Aplicación.Goto

End Sub

Paso 3: En el argumento de referencia, debemos especificar el nombre de la hoja de trabajo y en esa hoja de trabajo, debemos mencionar la celda específica.

Código:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5") End Sub 

Paso 4: menciona el pergamino como VERDADERO.

Código:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = True End Sub 

Paso 5: Ahora ejecute este código con la tecla F5 o también puede ejecutar este código manualmente, lo llevará a la hoja y celda especificadas.

Ahora cambiaré el argumento de desplazamiento a FALSO y veré el cambio que encontrará.

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

Si desea ir a un libro de trabajo específico, debe mencionar el nombre del libro de trabajo también antes del nombre del libro de trabajo.

 Sub GoTo_Example1 () Application.Goto Reference: = Workbooks ("Book1.xlsx"). Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

# 2 - Método de manejo de errores

Cuando la línea de código en particular encuentra un error, VBA deja de ejecutar el resto del código y muestra el mensaje de error.

Por ejemplo, mire la siguiente línea de código.

 Sub GoTo_Example2 () Sheets ("Abril"). Eliminar Sheets.Add End Sub 

El código anterior dice eliminar la hoja de abril y agregar una nueva hoja. En el libro de trabajo activo, si hay algún nombre de hoja llamado April, se eliminará o, de lo contrario, se mostrará el cuadro de diálogo de mensaje de error a continuación.

Cuando ejecuté este código, mi libro de trabajo no tenía una hoja llamada April, por lo que el código VBA no pudo encontrar el nombre de la hoja y arroja el error. A veces necesitamos ignorar este error porque muchas veces si no hay un nombre de hoja llamado April, entonces necesitamos continuar con las otras líneas de código.

Para eliminar este error, podemos utilizar el método GoTo como controlador de errores.

Ahora modificaré el código como On error ir a la siguiente línea

 Sub GoTo_Example2 () En caso de error Ir a las hojas de NextLine ("abril"). Eliminar NextLine: Sheets.Añadir End Sub 

Ahora, si ejecuta esto, agregará la nueva hoja aunque no haya un nombre de hoja llamado April.

La declaración "On Error GoTo NextLine" entiende que si ocurre algún error, saltará a la siguiente línea y en la siguiente línea, el código VBA es agregar una nueva hoja.

Cosas para recordar

  • Si desea pasar a la siguiente línea cuando se produce el error, también puede utilizar la instrucción On Error Resume Next VBA.
  • Para pasar al siguiente, debe asegurarse de que se espera un error en esa línea de código en particular.
  • Si la línea importante del código omite este controlador de errores, es posible que su tarea no se complete perfectamente.