Repete um grupo de instruções um número especificado de vezes.
Sintaxe
For counter=start To end [Step step]
[statements]
[Exit For]
[statements]
Next
Argumentos:
Counter: Variável numérica usada como contador de loops. A variável não pode ser um elemento de matriz nem um elemento de um tipo definido pelo usuário.
Start: Valor inicial do contador.
End: Valor final do contador.
Step: O contador de valores é alterado toda vez que o loop é executado. Se este argumento não especificado, o valor padrão da etapa será um.
Statements: Uma ou mais instruções entre For e Next que são executadas o número especificado de vezes.
Comentários
O argumento step pode ser positivo ou negativo. O valor do argumento step determina o processamento do loop da seguinte forma:
Table 11-33 Execuções de Loop
| Valor | Loop será executado se |
|---|---|
| Positivo ou 0 | contador <= fim |
| Negativo | contador >= fim |
Depois que o loop começa e todas as instruções no loop são executadas, a etapa é adicionada ao contador. Nesse ponto, as instruções no loop são executadas novamente (com base no mesmo teste que causou a execução inicial do loop) ou o loop é encerrado e a execução continua com a instrução que sucede a instrução Next.
Note:
Alterar o valor do contador dentro de um loop pode dificultar a leitura e a depuração do código.
A instrução Exit For só pode ser usada em uma estrutura de controle For Each...Next ou For...Next para fornecer uma maneira alternativa de saída. É possível incluir qualquer número de instruções Exit For em qualquer parte do loop. A instrução Exit For geralmente é usada com a avaliação de alguma condição (por exemplo, If...Then) e transfere o controle para a instrução que sucede a instrução Next.
Você pode aninhar os loops For...Next colocando um loop For...Next dentro de outro. Dê a cada loop um nome de variável exclusivo como seu contador. A seguinte construção está correta:
Exemplo 1:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
Next
Next
Next
Exemplo 2: Progressão Positiva
Dim i
For i = 1 To 3 Step 2
'"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3
Exemplo 3: Progressão Negativa
Dim i
For i = 3 To 1 Step -2
'"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1