Ligado... GoSub, On... Instruções GoTo
Ramificar para uma de várias linhas especificadas, consoante o valor de uma expressão.
Sintaxe
Lista de destinodo GoSub da expressão
Lista de destinoGoTo da expressão
O Ligado... GoSub e On... A sintaxe da instrução GoTo tem as seguintes partes:
Sair | Descrição |
---|---|
expressão | Obrigatório. Qualquer expressão numérica que avalie um número inteiro entre 0 e 255, inclusive. Se a expressão for qualquer número diferente de um número inteiro, é arredondada antes de ser avaliada. |
lista de destino | Obrigatório. Lista de números de linha ou etiquetas de linha separados por vírgulas. |
Comentários
O valor da expressão determina para que linha está ramificada na lista de destino. Se o valor da expressão for inferior a 1 ou superior ao número de itens na lista, ocorre um dos seguintes resultados:
Se a expressão for | Then |
---|---|
Igual a 0 | O controlo cai para a instrução a seguir a Ativado... GoSub ou Ligado... Ir Para. |
Maior que o número de itens na lista | O controlo cai para a instrução a seguir a Ativado... GoSub ou Ligado... Ir Para. |
Negativo | Ocorre um erro. |
Maior que 255 | Ocorre um erro. |
Pode misturar números de linha e etiquetas de linha na mesma lista. Utilize tantas etiquetas de linha e números de linha quanto quiser com Ativado... GoSub e On... Ir Para. No entanto, se utilizar mais etiquetas ou números do que caber numa única linha, tem de utilizar o caráter de continuação de linha para continuar a linha lógica para a linha física seguinte.
Dica
Selecionar Caso fornece uma forma mais estruturada e flexível de efetuar várias ramificações.
Exemplo
Este exemplo utiliza a opção Ativado... GoSub e On... Instruções GoTo para ramificar para subroutinas e etiquetas de linha, respetivamente.
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
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.