Declaração GoTo VBA

Declaração GoTo do Excel VBA

A instrução VBA GoTo é usada quando ocorre um erro durante a execução do código, em vez de exibir o erro para retomar a próxima linha de código, ignorando a mensagem de erro. Existem dois tipos de instruções GOTO, uma é para selecionar qualquer intervalo da planilha na pasta de trabalho especificada e outra é o manipulador de erros.

Para superar os erros previstos no VBA, temos uma função chamada “GOTO”. Veremos os dois tipos de declarações GoTo neste artigo.

2 maneiras de usar a declaração GoTo no código VBA

Você pode baixar este modelo VBA GoTo Excel aqui - Modelo VBA GoTo Excel

# 1 - Método Application.GoTo

Se você quiser ir para a pasta de trabalho específica ou planilha específica em todas as pastas de trabalho abertas, então podemos usar a instrução Application.GoTo método.

Vejamos a sintaxe do método Application.GoTo

  • [Referência]: Isso nada mais é do que uma referência de célula especificada. Se a referência não for fornecida por padrão, ela o levará para o último intervalo de células usado.
  • [Role]: Esta é uma afirmação lógica de VERDADEIRO ou FALSO. Se o valor for TRUE ele rolará pela janela, se o valor for FALSE ele não rolará pela janela.
Exemplo

Se você quiser ir para uma célula específica na planilha específica, podemos usar o método Goto. Eu tenho 3 folhas chamadas Jan, Fev e Mar.

Agora, se eu quiser ir para a célula C5 na planilha de janeiro, usarei o conjunto de código abaixo.

Etapa 1: inicie o nome da macro do Excel.

Código:

 Sub GoTo_Example1 () End Sub 

Etapa 2: iniciar o método “ Application.GoTo

Código:

Sub GoTo_Example1 ()

Application.Goto

End Sub

Passo 3: No argumento de referência, precisamos especificar o nome da planilha e nessa planilha, precisamos mencionar a célula específica.

Código:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5") End Sub 

Etapa 4: mencione o pergaminho como VERDADEIRO.

Código:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = True End Sub 

Etapa 5: Agora execute este código usando a tecla F5 ou você também pode executar este código manualmente, ele o levará para a planilha especificada e a célula especificada.

Agora vou mudar o argumento scroll para FALSE e ver a mudança que ele encontrará.

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

Se você quiser ir para uma pasta de trabalho específica, deverá mencionar o nome da pasta de trabalho também antes do nome da pasta de trabalho.

 Sub GoTo_Example1 () Application.Goto Reference: = Workbooks ("Book1.xlsx"). Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

# 2 - Método de tratamento de erros

Quando a linha de código específica encontra um erro, o VBA para de executar o resto do código e mostra a mensagem de erro.

Por exemplo, veja a linha de código abaixo.

 Sub GoTo_Example2 () Sheets ("April"). Delete Sheets.Add End Sub 

O código acima diz para excluir a planilha de abril e adicionar uma nova planilha. Na pasta de trabalho ativa, se houver algum nome de planilha chamado April, ele será excluído ou mostrará a caixa de diálogo de mensagem de erro abaixo.

Quando executo este código, minha pasta de trabalho não tinha uma planilha chamada April, então o código VBA não conseguiu encontrar o nome da planilha e gerou o erro. Às vezes, precisamos ignorar esse erro porque, muitas vezes, se não houver um nome de planilha chamado April, precisamos continuar com as outras linhas de código.

Para eliminar esse erro, podemos usar o método GoTo como um manipulador de erros.

Agora irei modificar o código como Em caso de erro, vá para a próxima linha

 Sub GoTo_Example2 () Em caso de erro, GoTo NextLine Sheets ("April"). Delete NextLine: Sheets.Add End Sub 

Agora, se você executar isso, a nova planilha será adicionada, embora não haja nenhum nome de planilha chamado April.

A declaração “On Error GoTo NextLine” entende que se ocorrer algum erro, ele irá pular para a próxima linha e na próxima linha o código VBA é para adicionar uma nova planilha.

Coisas para lembrar

  • Se desejar pular para a próxima linha quando ocorrer o erro, você também pode usar a instrução On Error Resume Next VBA.
  • Para pular para a próxima, você precisa ter certeza de que essa linha de código específica contém um erro.
  • Se a linha importante do código pular com esse manipulador de erros, sua tarefa pode não ser concluída perfeitamente.