Instrução
empregada para repetir um grupo de instruções por um número definido de vezes,
utilizando esta sintaxe:
For Contador = Inicio To Fim [Step Passo]
[Instruções]
[Exit For]
[Instruções]
Next [Contador]
Onde,
- Contador: argumento obrigatório, indicando uma variável numérica, empregada como contador do número de vezes que o laço é executado;
- Início: argumento obrigatório, define o valor inicial da variável Contador;
- Fim: argumento obrigatório, define o valor final da variável Contador;
- Step: argumento obrigatório, define a quantidade com que o Contador será alterado a cada passada do laço For...Next, podendo ser um número positivo ou negativo (contando-se para trás);
- Instruções: grupo de instruções a serem executadas pelo laço For...Next;
- Next: define o ponto de término da estrutura de laço.
As seguintes considerações são válidas para a instrução
For...Next:
- Normalmente, o valor do argumento Início deve ser maior que o argumento Fim, indicando que o laço será executado o número de vezes determinado pela expressão Fim – Início;
- Se Início for menor do que Fim, o laço não será executado nem uma única vez, a menos que você defina o valor de Passo para um número negativo, fazendo com que a contagem do laço seja processada de trás para frente;
- Passo pode ser qualquer valor de Contador até que Início seja maior que Fim (para Passo > 0) ou Início seja menor que Fim (para Passo < 0);
- Evite alterar o valor de Contador dentro do laço For...Next, pois você poderá ter resultados imprevisíveis em seu código;
- Você pode terminar abruptamente uma instrução For...Next utilizando uma ou mais instruções Exit For no interior do laço;
- Quando o laço terminar ou quando for encontrada uma instrução Exit For, o controle do código será definido para a instrução subseqüente à instrução Next Contador;
- Você pode aninhar instruções For...Next, uma dentro da outra, desde que cada laço For...Next possua um contador exclusivo. Esta operação é normalmente empregada para percorrer matrizes de dados linha a linha ou coluna a coluna;
- Para percorrer todos os elementos de uma matriz ou coleção, é mais fácil empregar uma instrução For Each...Next, pois ela não exige a definição dos argumentos Início e Fim para contagem.
Exemplo: O exemplo a seguir emprega um laço For...Next para
percorrer todos os controles de um formulário e tornar visível/invisível ,
aqueles cuja prosperidade Tag tenha sido definida para “-1” no modo Estrutura
do formulário.
Public Sub
ExibeCtls(fExibe as boolean)
Dim intl as Integer
For intl = 0 to Me.Controls.Count – 1
If Me.Controls(intl).Tag = “-1” Then
For intl = 0 to Me.Controls.Count – 1
If Me.Controls(intl).Tag = “-1” Then
Me.Controls(intl).Visible
= fExibe
End If
Next
End SubAté a Próxima!!