No VBA, você pode sair de um loop Do usando o Sair Do comando.
1 | Sair Do |
Quando a execução do código chega a Sair Do, o código sairá do loop Do e continuará com a primeira linha após o loop.
Se você quiser aprender como sair de um loop For, clique neste link: VBA Exit For
Saia de um loop quando uma condição for atendida
Você verá no exemplo abaixo como sair de um loop Do quando uma determinada condição for atendida. Vamos fazer um loop e incrementar o valor da variável i em 1 em cada iteração. Quando se trata de 6, queremos sair do loop e retornar uma caixa de mensagem. Aqui está o código:
1234567891011 | Dim i As IntegerFaça enquanto eu <10i = i + 1Se i = 6 entãoSair DoFim seCicloMsgBox "O valor é" & i |
Primeiro, entramos no Do Loop se o valor de i for menor que 10:
123 | Faça enquanto eu <10Ciclo |
No corpo do loop, incrementamos o valor de i em 1:
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:
123 | Se i = 6 entãoSair DoFim se |
A primeira linha do código que será executada após sair do loop Do é a caixa de mensagem com o valor i:
1 | MsgBox "O valor é" & i |
Se você executar este código em Modo de depuração, você verá que ele fará o loop 6 vezes. No 6º iteração, o valor da variável i torna-se 6 e o código entra no corpo If. Agora o corpo do loop Do foi encerrado. Depois disso, o MsgBox pop-ups com o valor de i: