Usando faça... instruções de Loop
Utilizar Do... Loop instruções para executar um bloco de instruções um número indefinido de vezes. As instruções são repetidas enquanto uma condição é Verdadeira ou até que uma condição se torne Verdadeira.
Instruções de repetição enquanto uma condição é Verdadeira
Existem duas formas de utilizar a palavra-chave Whilepara marcar uma condição num Do... Loop instrução. Pode marcar a condição antes de introduzir o ciclo ou pode marcar-la depois de o ciclo ter sido executado pelo menos uma vez.
No procedimento seguinteChkFirstWhile
, marcar a condição antes de introduzir o ciclo. Se myNum
estiver definido como 9 em vez de 20, as instruções dentro do ciclo nunca serão executadas.
ChkLastWhile
No procedimento, as instruções dentro do ciclo são executadas apenas uma vez antes de a condição se tornar Falsa.
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
Repetir instruções até que uma condição se torne Verdadeira
Existem duas formas de utilizar a palavra-chave Until para marcar uma condição num Do... Loop instrução. Pode marcar a condição antes de introduzir o ciclo (conforme mostrado no ChkFirstUntil
procedimento) ou pode marcar-la depois de o ciclo ter sido executado pelo menos uma vez (conforme mostrado no ChkLastUntil
procedimento). O ciclo 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
A sair de um Do... Loop instrução de dentro do ciclo
Pode sair de um Do... Loop utilizando a instrução Exit Do. Por exemplo, para sair de um ciclo interminável, utilize a instrução Exit Do no bloco de instrução Verdadeiro de um se... Em seguida,... Instrução Senão ou uma instrução Selecionar Caso . Se a condição for Falso, o ciclo será executado como habitualmente.
No exemplo myNum
seguinte é atribuído um valor que cria um ciclo interminável. O Se... Em seguida,... A instrução Else verifica a existência desta condição e, em seguida, sai, impedindo ciclos intermináveis.
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 parar um ciclo interminável, prima 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.