VBA Ir a una etiqueta de línea

La declaración GoTo en VBA le permite saltar a una línea de código.

Primero cree una etiqueta de línea en cualquier lugar de su código:

1 Saltar:

Luego, agregue a la declaración "Ir a" para saltar a la etiqueta de la línea

1 Ir a Saltar

Ejemplos de GoTo

Este ejemplo prueba el año. Si el año es 2022 o posterior, irá a la etiqueta Omitir línea. Esto le permite omitir el código si se cumplen ciertas condiciones.

123456789101112 Sub GoTo_Example ()Dim year As Integeraño = 2019Si año> = 2019, vaya a Saltar'Datos de proceso para años <2022MsgBox "El año es anterior a 2022"Saltar:End Sub

Ir a etiquetas de varias líneas

También puede usar instrucciones GoTo para saltar a líneas de código relevantes. Ajustemos nuestro ejemplo anterior para ir a diferentes ubicaciones de código según el año:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Dim year As Integeraño = 2019Si año = 2019 EntoncesIr al año 2019ElseIf año = 2010 EntoncesIr al año 2020DemásIr al año2021Terminara siaño2019:'Proceso 2022MsgBox "El año es 2022"GoTo EndProcaño2020:'Proceso 2022MsgBox "El año es 2022"GoTo EndProcaño2021:'Proceso 2022+MsgBox "El año es 2022+"EndProc:End Sub

Observe el "GoTo EndProc" antes de cada etiqueta de línea. Agregamos esta línea de código para que esas secciones de código se omitan a menos que se acceda a ellas mediante el "Ir a" correspondiente.

GoTo Error Handler Fin del procedimiento

Ahora usemos Manejo de errores para ir al final del procedimiento si hay un error.

123456789101112 Sub GoTo_OnError ()Dim i como enteroEn caso de error, GoTo EndProci = 5/0MsgBox iEndProc:End Sub

Ir a repetir código

Nuestro último ejemplo usará la instrucción GoTo para repetir algún código.

A continuación, usamos un cuadro de mensaje Sí / No (haga clic para obtener más información) para confirmar que el usuario reconoce la advertencia. Si hacen clic en "No", el cuadro de mensaje se mostrará de nuevo hasta que hagan clic en "Sí" (ver GIF a continuación).

1234567891011 Sub GoTo_YesNoMsgBox ()RepeatMsg:Respuesta tenue como enteroanswer = MsgBox ("ADVERTENCIA: Este archivo se abrió como un archivo de solo lectura, lo que significa que los cambios que realice no se guardarán a menos que tenga derechos de acceso de escritura". & _Chr (13) & Chr (13) & "Seleccione Archivo, Guardar como para guardar una copia antes de trabajar en este archivo". & vbNewLine & vbNewLine & "¿Entiende?", vbExclamation + vbYesNo, "¡ADVERTENCIA!")Si answer = vbNo, vaya a RepeatMsg 'Repita hasta que el usuario haga clic en "Sí"End Sub

VBA Ir a una etiqueta de línea en Access VBA

Todos los ejemplos anteriores funcionan exactamente igual en Access VBA que en Excel VBA.

1234567 SubpruebaGoTo ()En caso de error, ir al finalDoCmd.OpenForm "FrmClients"Salir de Subfinalizando:MsgBox "No se puede abrir el formulario"End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave