En... GoSub, On... Instrucciones GoTo
Crean una bifurcación a una de las distintas líneas especificadas, según el valor de una expresión.
Sintaxis
En laexpresiónGoSubdestinationlist
Enla expresiónGoTodestinationlist
La sintaxis de las instrucciones On...GoSub y On...GoTo tiene estas partes:
Parte | Descripción |
---|---|
expression | Obligatorio. Cualquier expresión numérica que evalúe un número entero entre 0 y 255, ambos incluidos. Si la expresión es cualquier otro número que no sea un número entero, se redondea antes de evaluarlo. |
destinationlist | Obligatorio. Lista de números de línea o etiquetas de línea separados por comas. |
Comentarios
El valor de la expresión determina qué línea se bifurca en listaDestino. Si el valor de expresión es inferior a 1 o superior al número de elementos de la lista, se produce uno de los siguientes resultados:
Si la expresión es | Then |
---|---|
Igual a 0 | El control cae hasta la instrucción que sigue a On...GoSub o On...GoTo. |
Superior al número de elementos de la lista | El control cae a la instrucción que sigue a On...GoSub o On...GoTo. |
Negativo | Se produce un error. |
Superior a 255 | Se produce un error. |
Puede mezclar números de línea y etiquetas de línea en la misma lista. Use tantas etiquetas de línea y números de línea como desee con On... GoSub y On... Vaya a ver. Sin embargo, si usa más etiquetas o números de los que pueden ajustarse a una única línea, debe usar el carácter de continuación de línea para seguir la línea lógica en la siguiente línea física.
Sugerencia
Select Case proporciona una forma más estructurada y flexible de realizar varias bifurcaciones.
Ejemplo
En este ejemplo se usan las instrucciones On...GoSub y On...GoTo para crear una bifurcación a subrutinas y etiquetas de línea respectivamente.
Sub OnGosubGotoDemo()
Dim Number, MyString
Number = 2 ' Initialize variable.
' Branch to Sub2.
On Number GoSub Sub1, Sub2 ' Execution resumes here after
' On...GoSub.
On Number GoTo Line1, Line2 ' Branch to Line2.
' Execution does not resume here after On...GoTo.
Exit Sub
Sub1:
MyString = "In Sub1" : Return
Sub2:
MyString = "In Sub2" : Return
Line1:
MyString = "In Line1"
Line2:
MyString = "In Line2"
End Sub
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.