VBA – Sair do Loop
No VBA, você pode sair de um loop Do usando o comando Exit Do.
Exit Do
Quando a execução do código chegar a Exit Do, o código sairá do loop Do e continuará com a primeira linha após o loop.
Se você quiser saber como sair de um loop For, clique neste link: Exit For do VBA
Sair de um Loop Quando uma Condição é Atendida
No exemplo abaixo, você verá como sair de um loop Do quando uma determinada condição for atendida. Faremos um loop e incrementaremos o valor da variável i em 1 a cada iteração. Quando chegar a 6, queremos sair do loop e retornar uma caixa de mensagem. Aqui está o código:
Dim i As Integer
Do While i < 10
i = i + 1
If i = 6 Then
Exit Do
End If
Loop
MsgBox "O valor de i é " & i
Primeiro, entramos no Do Loop se o valor de i for menor que 10:
Do While i < 10
Loop
No corpo do loop, incrementamos o valor de i em 1:
i = i + 1
Depois disso, verificamos se o valor de i é igual a 6, usando o comando If. Se o valor for 6, saímos do loop Do e vamos para a primeira linha após o loop:
If i = 6 Then
Exit Do
End If
A primeira linha do código que será executada após a saída do loop Do é a caixa de mensagem com o valor de i:
MsgBox "O valor de i é " & i
Se você executar esse código no modo de depuração, verá que ele percorrerá o loop 6 vezes. Na 6ª iteração, o valor da variável i se torna 6 e o código entra no corpo If. Agora o corpo do loop Do é encerrado. Depois disso, a MsgBox é exibida com o valor de i: