Como usar a instrução goto no código vba?

A instrução VBA GoTo ajuda a execução do código a navegar até uma linha específica no procedimento. Em termos simples, com a instrução goto, o VBA salta para uma linha específica que você especificou. Por exemplo, se você especificou pular para a segunda linha, go irá pular para essa linha.

Como usar a instrução VBA GoTo no código

  1. Primeiro, você precisa usar a instrução goto.
  2. Depois disso, você precisa definir para onde deseja que o VBA vá.
  3. A seguir, crie a tag para criar esse local no procedimento.
  4. No final, adicione a(s) linha(s) de código que deseja executar.
vba-go-to-statement-in-code
 Sub vba_goto() GoTo Last Range ("A1"). Select Last : Range ("A12"). Select End Sub

GoTo para repetir um código

Você também pode usar a instrução go to para repetir o código usando um conjunto de condições.

 Sub goto_repeat() Dim iMessage As String Question:    iMessage = InputBox("what's the day today?") If iMessage <> "tuesday" Then    MsgBox ("wrong answer, try again.") GoTo Question Else    MsgBox ("that's the right answer.") End If End Sub

Ao executar o código acima ele irá perguntar o nome do dia e se você digitar algo diferente de “Terça-feira” a pergunta será repetida. Se você olhar o código, verá que precisamos usar a instrução goto e a instrução if .

Agora, quando o usuário insere algo diferente da resposta correta, a instrução goto força o VBA a repetir o código. (mas sempre que você usar esse tipo de código você tem que ter muito cuidado porque pode criar um loop infinito.

VBA Ir para o fim

Você também pode sair de um sub usando a instrução goto.

vba-ir para o fim

No código acima, usamos a tag “last” logo antes da instrução end e quando o VBA atinge a instrução GoTo, faz o VBA pular para “Last” no final do procedimento.

Instrução GoTo para ir para uma linha em outra sub-rotina

Bem, ir para a instrução é bastante útil para fazer o VBA pular de um lugar para outro, mas não é possível fazê-lo pular para outro procedimento no módulo .

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *