Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use... Loop para executar um bloco de instruções um número indefinido de vezes. As instruções são repetidas enquanto uma condição for True ou até que uma condição se torne True.
Repetir instruções enquanto uma condição é verdadeira
Há duas maneiras de usar o Whilepalavra-chave para marcar uma condição em um Do... Loop. Você pode marcar a condição antes de entrar no loop ou pode marcá-la depois que o loop tiver sido executado pelo menos uma vez.
No procedimento a seguirChkFirstWhile, você marca a condição antes de entrar no loop. Se myNum for definido como 9 em vez de 20, as instruções dentro do loop nunca serão executadas.
ChkLastWhile No procedimento, as instruções dentro do loop são executadas apenas uma vez antes que a condição se torne False.
Sub ChkFirstWhile()
counter = 0
myNum = 20
Do While myNum > 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastWhile()
counter = 0
myNum = 9
Do
myNum = myNum - 1
counter = counter + 1
Loop While myNum > 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
Instruções repetidas até que uma condição se torne Verdadeira
Há duas maneiras de usar a palavra-chave-chave Until para marcar uma condição em uma... Loop. Você pode marcar a condição antes de entrar no loop (como mostrado no ChkFirstUntil procedimento) ou pode marcá-la depois que o loop tiver sido executado pelo menos uma vez (como mostrado no ChkLastUntil procedimento). O loop continua enquanto a condição permanece falsa.
Sub ChkFirstUntil()
counter = 0
myNum = 20
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastUntil()
counter = 0
myNum = 1
Do
myNum = myNum + 1
counter = counter + 1
Loop Until myNum = 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
Saindo de um... Loop de dentro do loop
Você pode sair de um arquivo Do... Loop usando a instrução Exit Do. Por exemplo, para sair de um loop infinito, use a instrução Exit Do no bloco de instruções True de um If... Então... Else ou uma instrução Select Case . Se a condição for False, o loop será executado normalmente.
No exemplo myNum a seguir é atribuído um valor que cria um loop infinito. O campo Se... Então... A instrução Else verifica essa condição e, em seguida, sai, evitando looping infinito.
Sub ExitExample()
counter = 0
myNum = 9
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
If myNum < 10 Then Exit Do
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
Observação
Para interromper um loop infinito, pressione ESC ou CTRL+BREAK.
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.