Declaración de Excel VBA GoTo

VBA Goto Statement se usa para superar los errores pronosticados mientras agregamos y creamos un gran código de líneas en VBA. Esta función en VBA nos permite ir con el código completo según nuestras predicciones o suposiciones. Con la ayuda Goto podemos ir a cualquier código de línea o ubicación especificada en VBA. Hay dos formas de hacerlo que veremos en los próximos ejemplos.

¿Cómo usar Excel VBA Goto Statement?

Aprenderemos cómo usar Excel VBA Goto Statement con algunos ejemplos.

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

Ejemplo 1

La primera forma de usar VBA Goto es mediante el método Application.Goto . Con la ayuda de la declaración Application.Goto podemos acceder a cualquier ubicación específica, libro de trabajo u hoja de trabajo que esté abierta actualmente. Esta declaración se verá como a continuación.

  • (Referencia): Esto no es más que una referencia de celda especificada. Si la referencia no se proporciona de manera predeterminada, lo llevará al último rango de celdas utilizado.
  • (Desplazamiento): esta es una declaración lógica de VERDADERO o FALSO. Si el valor es VERDADERO, se desplazará por la ventana, si el valor es FALSO, no se desplazará por la ventana.

Para esto, vaya a la ventana de VBA y haga clic en Módulo que se encuentra en el menú Insertar como se muestra a continuación.

Ahora abrirá un nuevo módulo. Allí escriba la Subcategoría de una macro con el nombre de Goto mientras realizamos ese código como se muestra a continuación.

Código:

 Sub VBAGoto () End Sub 

Ahora escriba Application.Goto para habilitar la aplicación o el lugar donde queremos ir.

Código:

 Sub VBAGoto () Application.Goto End Sub 

Después de eso, haga referencia a cualquier hoja de trabajo o libro de trabajo y rango de celdas. Aquí hemos dado el rango de Cell B3 y Worksheets de nombrados como "VBA Goto".

Código:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), End Sub 

Ahora, para ir realmente a la celda mencionada, necesitamos agregar el argumento de desplazamiento que nos llevará directamente a la celda especificada. Ahora cambiaremos el argumento de desplazamiento de FALSO como se muestra a continuación.

Código:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), Scroll: = False End Sub 

Después de ejecutar el código con la tecla F5 o manualmente, veremos que el cursor se desplazará a la celda B3 sin cambiar la orientación de la hoja seleccionada como se muestra a continuación.

Ahora cambiaremos el argumento de desplazamiento de FALSO a VERDADERO.

Código:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), Scroll: = True End Sub 

Inicialmente, mantenemos el cursor en la celda A5 como se muestra a continuación. Ahora ejecute el código completo con la tecla F5 o manualmente. Veremos que el cursor que estaba en la celda A5, ahora se desplaza hacia arriba y se desplaza a la celda B3 y toda la tabla se ha movido al nivel superior de la hoja comenzando con la misma celda que B3 como se muestra en la siguiente captura de pantalla.

Ejemplo # 2

Hay otra forma de usar el argumento VBA Goto. Usando Goto en VBA en este ejemplo, podemos omitir el argumento que está causando un error. Para esto, inserte un nuevo módulo en VBA e inicie Subcategoría con el nombre del argumento utilizado como se muestra a continuación. Puedes usar cualquier otro nombre.

Código:

 Sub VBAGoto () End Sub 

Para esto, consideraremos 3 enteros X, Y y Z abriendo la categoría Sub en VBA como se muestra a continuación.

Código:

 Sub VBAGoto () Dim X como entero, Y como entero, Z como entero Fin Sub 

Ahora también considere alguna división matemática donde dividiremos 10, 20 y 30 con 0, 2 y 4 como se muestra a continuación.

Código:

 Sub VBAGoto () Dim X como entero, Y como entero, Z como entero X = 10/0 Y = 20/2 Z = 30/4 Sub final 

Si ejecutamos el código, obtendremos el mismo mensaje de error del error de tiempo de ejecución 11.

Mensaje de error anterior El error de tiempo de ejecución '11' aparece solo cuando la expresión matemática escrita es incorrecta. Ahora para anular este error, usaremos el texto On Error GoTo con la palabra YResult para omitir el mensaje de error y obtener la salida que funciona bien como se muestra a continuación.

Aún así, nuestro código no está completo. Usar Goto con la declaración " YResult :" solo omitirá la línea de error del código. Pero volverá a mostrar el error ya que Labe no está definido como se muestra a continuación.

Código:

 Sub VBAGoto () Dim X como número entero, Y como número entero, Z como número entero en caso de error Ir a Y Resultado: X = 10/0 Y = 20/2 Z = 30/4 Fin Sub 

Ahora para completarlo, necesitamos definir la etiqueta . La etiqueta es la parte de la declaración en la codificación VBA, que se utiliza cuando queremos omitir una cierta porción de código a cualquier línea de código aplicable definida. Como ya tenemos YResult con argumento Goto . Luego insertaremos el mismo justo antes del entero Y. Ahora ejecute el código nuevamente.

Código:

 Sub VBAGoto () Dim X como entero, Y como entero, Z como entero en caso de error GoTo YResultado: X = 10/0 YResultado: Y = 20/2 Z = 30/4 End Sub 

Como se ve y se hace, no recibimos ningún mensaje de error, lo que significa que nuestro código es correcto y se está saltando esa línea de código que estaba causando un error y dando la salida donde se escribió el código correcto. Ahora para imprimir el resultado del código necesita insertar cuadros de mensaje para cada número entero con el argumento de ayuda MsgBox como se muestra a continuación.

Código:

 Sub VBAGoto () Dim X como entero, Y como entero, Z como entero en caso de error GoTo YResultado: X = 10/0 YResultado: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Una vez hecho esto, ejecute el código completo para ver el resultado. Vamos a la salida de la división de cada número entero definido como 0, 10 y 8 como se muestra en la siguiente captura de pantalla también.

En Error GoTo, la instrucción YResult nos ayudó a saltar directamente al entero de punto de resultado mencionado como lo hicimos para el entero Y. Y la salida para X como 0 muestra que se escribió un argumento de instrucción incorrecto. Podemos etiquetar incluso antes de Z, pero eso nos daría el resultado de Z entero solamente. Para X e Y volverá a mostrar 0 como salida.

Ventajas de VBA en caso de error

  • Podemos calcular cualquier fórmula matemática incluso si es incorrecta.
  • Para estructuras de codificación más grandes donde hay posibilidades o que tienen un error, el uso de GoTo puede dar un resultado correcto incluso entre la línea de códigos.
  • Esto da un mejor resultado en comparación con el resultado obtenido de los cálculos normales de Excel a pesar de tener un argumento incorrecto.

Cosas para recordar

  • Recuerde el archivo en el archivo de Excel habilitado para macros para que podamos usar el código VBA creado muchas y varias veces.
  • Compile el código escrito antes de implementarlo con cualquier requisito de Excel.
  • Puede asignar el código escrito a cualquier botón para que podamos hacer clic rápidamente en el botón y ejecutar el código.
  • Use la etiqueta como se muestra en el ejemplo-2 de manera apropiada para que obtengamos el resultado del código correcto completo.

Artículos recomendados

Esta ha sido una guía para la declaración GoTo de VBA. Aquí discutimos cómo usar Excel VBA GoTo Statement junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo usar Excel VBA Loops?
  2. Función VBA en Excel
  3. Guía de rango en Excel
  4. ¿Cómo utilizar la función VBAOKUP VBA?

Categoría: