No VBA, para encerrar TODA a execução do código, use o Fim comando.
1 | Fim |
Quando a execução do código chega a Fim, ele terminará imediatamente a execução e sairá do programa.
Se você quiser aprender como sair de um Sub em caso de erro, clique neste link: VBA em erro Exit Sub
Se você quiser aprender como sair de uma Sub ou Função, clique neste link: VBA Sair da Sub ou Função
Saia de todos os códigos em VBA
Você verá no exemplo o que acontece quando usamos o Fim comando em VBA. Nós criamos um Sub EndSub, que tem o Fim comando dentro. Este Sub é chamado de CallEndSub. Aqui está o código:
123456789101112131415161718 | Sub EndSub privado ()Dim i As IntegerPara i = 1 a 10Se i = 5 entãoMsgBox "O valor de i é" & iFimFim seProximo euEnd SubSub particular CallEndSub ()Ligar para EndSubMsgBox "End Sub"End Sub |
No EndSub, primeiro entramos no Loop For se o valor de i for menor que 10:
123 | Para i = 1 a 10Proximo eu |
Depois disso, verificamos se o valor de i é igual a 5, usando o comando If. Se o valor for 5, retornamos a caixa de mensagem com o valor i e usamos o comando Fim.
1234567 | Se i = 5 entãoMsgBox "O valor de i é" & iFimFim se |
Se a condição não for atendida, a seguinte instrução aumenta i em 1 e entra no loop For novamente:
1 | Proximo eu |
No CallEndSub, primeiro chamamos o Sub EndSub:
1 | Ligar para EndSub |
Depois disso, retornamos a caixa de mensagem:
1 | MsgBox "End Sub" |
Se você executar o CallEndSub, ele vai primeiro chamar o EndSub. Se você executar este código no modo de depuração, verá que ele passará pelo loop 5 vezes. No 5º iteração, o valor da variável i torna-se 5 e o código entra no corpo If. Agora o MsgBox “O valor de i é” & i é executado e Fim depois disso:
Imagem 1. Fim do VBA
Como você pode ver, a execução do código é interrompida logo após o Fim comando, então o MsgBox “End Sub” nunca é executado.