Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ramificar para uma das várias linhas especificadas, dependendo do valor de uma expressão.
Sintaxe
NaexpressãoGoSubdestinationlist
NaexpressãoLista de destinos do GoTo
O On... GoSub e assim por diante... A sintaxe da instrução GoTo tem estas partes:
| Sair | Descrição |
|---|---|
| expressão | Obrigatório. Qualquer expressão numérica avaliada como um número inteiro entre 0 e 255, inclusive. Se a expressão for qualquer número diferente de um número inteiro, ele será arredondado antes de ser avaliado. |
| lista de destinos | Obrigatório. Lista de números de linha ou rótulos de linha separados por vírgulas. |
Comentários
O valor da expressão determina para qual linha é ramificada na lista de destino. Se o valor da expressão for menor que 1 ou maior que o número de itens na lista, ocorrerá um dos seguintes resultados:
| Se a expressão for | Then |
|---|---|
| Igual a 0 | Control cai para a declaração seguinte em... GoSub ou On... Ir para. |
| Maior que o número de itens na lista | Control cai para a declaração seguinte em... GoSub ou On... Ir para. |
| Negativo | Ocorre um erro. |
| Maior que 255 | Ocorre um erro. |
Você pode misturar números de linhas e rótulos de linhas na mesma lista. Use quantos rótulos de linha e números de linha quiser com o On... GoSub e assim por diante... Ir para. No entanto, se você usar mais rótulos ou números do que cabem em uma única linha, deverá usar o caractere de continuação de linha para continuar a linha lógica na próxima linha física.
Dica
Selecionar Caso fornece uma maneira mais estruturada e flexível de executar várias ramificações.
Exemplo
Este exemplo usa o On... GoSub e assim por diante... Instruções GoTo para ramificar para sub-rotinas e rótulos de linha, 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
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.