O documento discute estruturas de repetição em VBA para Excel, incluindo Do Loops, Do While Loops, For Loops e For Each Loops. É explicado quando usar cada tipo de loop e exemplos de código são fornecidos para ilustrar cada uma.
2. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
A estrutura Do ... Loop é utilizada para repetir um trecho de código até que uma
determinada condição seja satisfeita.
Do ... Loop
1.Do
2. Grupo_de_instruções
3.Loop Condição
3. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
Nesta estrutura o operador condicional While é utilizado no início do laço.
Do While ... Loop
1. Do While Condição
2. Grupo_de_instruções
3. Loop
1. Sub Exemplo_enquanto_inicio ()
2. Dim Contador, Soma As Integer
3. Contador = 1
4. Soma = 0
5. Do While Contador <=20
6. Soma = Soma + Contador
7. Contador = Contador + 1
8. Loop
9. MsgBox “Valor total da soma = ” & Soma
10. End Sub
4. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
Nesta estrutura o operador condicional While é utilizado no fim do laço.
Do... Loop While
1. Do
2. Grupo_de_instruções
3. Loop While Condição
1. Sub Exemplo_enquanto_fim ()
2. Dim Nome As String
3. Do
4. Nome = InputBox (“Digite o nome do usuário:”)
5. Loop While Nome = “”
6. MsgBox “O nome do usuário é: ” & Nome
7. End Sub
5. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
Nesta estrutura o operador condicional Until é utilizado no início do laço.
Do Until ... Loop
1. Do While Condição
2. Grupo_de_instruções
3. Loop
1. Sub Exemplo_ate_inicio ()
2. Dim Contador, Soma As Integer
3. Contador = 1
4. Soma = 0
5. Do Until Contador > 20
6. Soma = Soma + Contador
7. Contador = Contador + 1
8. Loop
9. MsgBox “Valor total da soma = ” & Soma
10. End Sub
6. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
Nesta estrutura o operador condicional Until é utilizado no fim do laço.
Do... Loop Until
1. Do
2. Grupo_de_instruções
3. Loop While Condição
1. Sub Exemplo_ate_fim ()
2. Dim Nome As String
3. Do
4. Nome = InputBox (“Digite o nome do usuário:”)
5. Loop Until Nome <> “”
6. MsgBox “O nome o usuário é: ” & Nome
7. End Sub
7. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
A estrutura For ... Next é utilizada para repetir um grupo de instruções um determinado
número de vezes. Para controlar quantas vezes a estrutura é repetida utilizamos uma
variável como contador que varia de um valor inicial até um valor final.
For... Next
1. For Contador = Inicio To Fim Step Incremento
2. Grupo_de_instruções
3. Next
Contador: Variável que controla a repetição do laço.
Início: Valor inicial da variável Contador.
Fim: Valor final da variável Contador.
Incremento: Valor que será incrementado à variável Contador a cada passagem do laço.
8. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
For... Next
1. Sub Exemplo_para ()
2. Dim Cont As Integer
3. For Cont = 1 To 5
4. Cells (Cont, 1) = Cont
5. MsgBox “Foi preenchida a célula A” & Cont
6. Next
7. End Sub
*Cells (linha, coluna)
*Se a propriedade Step não for inserida o incremento será 1.
9. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
A estrutura For Each ... Next repete um grupo de instruções um número determinado de
vezes. A quantidade de repetições do laço depende da quantidade de elementos que o
grupo utilizado na estrutura possui.
For Each ... Next
1. For Each Elemento In Grupo
2. Grupo_de_instruções
3. Next
Elemento: Variável utilizada para interagir através dos elementos do grupo..
Grupo: Nome de uma coleção de objetos.
Grupo_de_instruções: Uma ou mais instruções que são executadas.
10. prof. Gustavo Zimmermann | contato@gust4vo.com
Excel VBA – Visual Basic
Estruturas de Repetição
For Each ... Next
1. Sub Exemplo_para_cada ()
2. Dim Celula As Range
3. For Each Celula In Range (“A1:A5”)
4. Celula.Value = InputBox (“Digite o nome do cliente:”)
5. Next
6. End Sub