VBA – Comando End (Fim)
No VBA, para encerrar a execução de TODO o código, use o comando End.
End
Quando a execução do código chegar a End, ele terminará imediatamente a execução e sairá do programa.
Se você quiser saber como sair de uma Sub por erro, clique neste link: VBA On Error Exit Sub
Se você quiser saber como sair de uma Sub ou Função, clique neste link: VBA Exit Sub or Function (Sair de Sub ou Função no VBA)
Sair de Todo o Código no VBA
Você verá no exemplo o que acontece quando usamos o comando End no VBA. Criamos uma Sub SubFim, que contém o comando End em seu interior. Essa Sub é chamada a partir de ChamarSubFim. Aqui está o código:
Private Sub SubFim()
Dim i As Integer
For i = 1 To 10
If i = 5 Then
MsgBox "O valor de i é " & i
End
End If
Next i
End Sub
Private Sub ChamarSubFim()
Call SubFim
MsgBox "Sub Fim"
End Sub
No SubFim, primeiro entramos no For Loop se o valor de i for menor que 10:
For i = 1 To 10
Next i
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 de i e usamos o comando End.
If i = 5 Then
MsgBox "O valor de i é " & i
End
End If
Se a condição não for atendida, a instrução a seguir aumenta i em 1 e entra no loop For novamente:
Next i
No ChamarSubFim, primeiro chamamos a Sub SubFim:
Call SubFim
Depois disso, retornamos a caixa de mensagem:
MsgBox "Sub Fim"
Se você executar o ChamarSubFim, ele chamará primeiro o SubFim. Se você executar esse código no modo de depuração, verá que ele percorrerá o loop 5 vezes. Na quinta iteração, o valor da variável i se torna 5 e o código entra no corpo If. Agora, a MsgBox “O valor de i é ” & i é executada e termina em seguida:
Imagem 1. VBA – Comando End
Como você pode ver, a execução do código é interrompida logo após o comando End, de modo que a MsgBox “Sub Fim” nunca é executada.