Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.