Ativado... GoSub, ativado... Instruções GoToOn...GoSub, On...GoTo statements

Ramificação para uma de várias linhas especificadas, dependendo do valor de uma expressão.Branch to one of several specified lines, depending on the value of an expression.

SintaxeSyntax

No expressão GoSub destinationlistOn expression GoSub destinationlist
No expressão Goto destinationlistOn expression GoTo destinationlist


O no... GoSub e **on... **A sintaxe da instrução goto possui as seguintes partes:The On...GoSub and On...GoTo statement syntax has these parts:

PartePart DescriçãoDescription
expressãoexpression Obrigatório.Required. Qualquer expressão numérica que é avaliada como um número inteiro entre 0 e 255, inclusive.Any numeric expression that evaluates to a whole number between 0 and 255, inclusive. Se expression for qualquer número diferente de um número inteiro, será arredondado antes de ser avaliado.If expression is any number other than a whole number, it is rounded before it is evaluated.
destinationlistdestinationlist Obrigatório.Required. Lista de números de linha ou Rótulos de linha separados por vírgulas.List of line numbers or line labels separated by commas.

ComentáriosRemarks

O valor de expression determina qual linha é ramificada no destinationlist.The value of expression determines which line is branched to in destinationlist. Se o valor de expression for menor que 1 ou maior que o número de itens na lista, ocorrerá um dos seguintes resultados:If the value of expression is less than 1 or greater than the number of items in the list, one of the following results occurs:

Expressão If éIf expression is ThenThen
Igual a 0Equal to 0 O controle cai para a instrução seguinte em... GoSub ou on... GoTo.Control drops to the statement following On...GoSub or On...GoTo.
Maior do que o número de itens na listaGreater than number of items in list O controle cai para a instrução seguinte em... GoSub ou on... GoTo.Control drops to the statement following On...GoSub or On...GoTo.
NegativoNegative Ocorrerá um erro.An error occurs.
Maior que 255Greater than 255 Ocorrerá um erro.An error occurs.

Você pode misturar números de linha e rótulos de linha na mesma lista.You can mix line numbers and line labels in the same list. Você pode usar quantos rótulos de linha e números de linha quiser com on... GoSub e on... GoTo.You can use as many line labels and line numbers as you like with On...GoSub and On...GoTo. No entanto, se você usar mais rótulos ou números do que cabe 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.However, if you use more labels or numbers than fit on a single line, you must use the line-continuation character to continue the logical line onto the next physical line.

Dica

Select Case fornece uma maneira mais estruturada e flexível de executar várias ramificações.Select Case provides a more structured and flexible way to perform multiple branching.

ExemploExample

Este exemplo usa a ... GoSub e on... GoTo instruções para Branch para sub-rotinas e rótulos de linha, respectivamente.This example uses the On...GoSub and On...GoTo statements to branch to subroutines and line labels, respectively.

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émSee also

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.