Módulo
Conteúdo
Índice 🔎︎

# Instrução Do...Loop

Repete os comandos entre as instruções Do e Loop enquanto a condição for Verdadeira ou até que esta se torne Verdadeira.

## Sintaxe

    Do [{While | Until} condition = True]

statement block

    [Exit Do]

statement block

    Repetição

ou

    Do

statement block

    [Exit Do]

statement block

    Loop [{While | Until} condition = True]

## Parâmetros/Elementos

Condition: expressão de comparação, numérica ou de cadeia de caracteres que avalia se é Verdadeira ou Falsa.

Statement block: instruções que você deseja repetir enquanto ou até que a condição seja Verdadeira.

A instrução Do...Loop executa uma repetição enquanto (ou até que) uma condição seja Verdadeira. A condição para o encerramento da repetição deve ser inserida após as instruções Do ou Loop. Os exemplos a seguir são combinações válidas:

## Sintaxe

    Do While condition = True

...statement block

    Repetição

O bloco de comandos entre as instruções Do While e Loop será repetido enquanto a condição for Verdadeira.

    Do Until condition = True

...statement block

    Repetição

O bloco de comandos entre as instruções Do Until e Loop será repetido enquanto a condição for Falsa.

    Do

...statement block

    Loop While condition = True

O bloco de comandos entre as instruções Do e Loop será repetido enquanto a condição for Verdadeira.

    Do

...statement block

    Loop Until condition = True

O bloco de comandos entre as instruções Do e Loop será repetido até que a condição seja Verdadeira.

Use a instrução Exit Do para finalizar incondicionalmente a repetição. Você pode adicionar essa instrução em qualquer posição de uma instrução Do...Loop. Você também pode definir uma condição de finalização usando a estrutura If...Then da seguinte forma:

    Do...

statements

    If condition = True Then Exit Do

statements

    Repetição…

## Exemplo

    Sub ExampleDoLoop

    Dim sFile As String

    Dim sPath As String

        sPath = "c:\"

        sFile = Dir$( sPath ,22)

        If sFile <> "" Then

            Do

                MsgBox sFile

                sFile = Dir$

            Loop Until sFile = ""

        End If

    End Sub