Usando For…Next Loop em macros
Aproveitando a estrutura For…Next Loop, você pode automatizar o preenchimento de células em planilhas do Excel com dados específicos. For…Next Loop permite iterar por linhas ou colunas dentro de um intervalo especificado, tornando-o muito eficaz para repetir tarefas no preenchimento de dados.
Exemplo: preencher um intervalo de células com resultados de soma de linhas e colunas
Aqui está um exemplo de um macro que utiliza For…Next Loop para preencher o intervalo de células A1:E10 com o valor gerado pela soma entre o número da linha e o número da coluna.
Sub Fill_Cells_With_Loop()
Dim i As Integer, j As Integer
For i = 1 To 10
For j = 1 To 5
Cells(i, j).Value = i + j
Next j
Next i
With Range(“A1:E10”)
.Font.Bold = True
.Interior.Color = RGB(224, 255, 255)
End With
End Sub
Explicação do código:
- For i = 1 To 10: o primeiro loop para iteração por meio de linhas, de 1 a 10 (linhas 1 a 10).
- For j = 1 To 5: O segundo loop para iterações por meio de colunas, de 1 a 5 (colunas A a E).
- Cells(i, j).Value = i + j: Preencha a célula com o resultado da soma entre o número da linha (i) e o número da coluna (j).
- With Range(“A1:E10”): Formate as células A1 a E10 com texto em negrito e fundo azul claro.
Outros artigos interessantes
Usando a função Chr() para criar caracteres
A função Chr() no VBA funciona para gerar caracteres que correspondem a ASCI codes. ASCII códigos são números que representam caracteres em sistemas de computador. Por exemplo, o código 65 indica a letra A, enquanto o código 66 indica a letra B e assim por diante.
Você pode aproveitar a função Chr() para criar macros que preenchem células com caracteres gerados a partir de códigos ASCII, aleatoriamente ou especificamente.
Exemplo: preenchendo um intervalo de células com caracteres aleatórios usando a função Chr()
Sub Fill_Cells_With_Random_Characters()
Dim i As Integer, j As Integer
Dim asciiCode As Integer
For i = 1 To 5
For j = 1 To 5
asciiCode = Int(26 * Rnd) + 65
Cells(i, j).Value = Chr(asciiCode)
Next j
Next i
With Range(“A1:E5”)
.Font.Bold = True
.Interior.Color = RGB(255, 228, 196)
End With
End Sub
Explicação do código:
- Dim asciiCode As Integer: Declara uma variável para armazenar o código ASCII.
- Int(26 * Rnd) + 65: Gera um número aleatório entre 65 e 90. O código 65 é A em ASCII e o código 90 é Z.
- Rnd gera um número aleatório entre 0 e 1.
- 26 * Rnd gera um número entre 0 e 25 e, em seguida, adiciona 65 para obter o código ASCII entre 65(A) e 90(Z).
- Cells(i, j).Value = Chr(asciiCode): Preenche uma célula com caracteres gerados por Chr() com base no código ASCII.
- With Range(“A1:E5”): Formata um intervalo de células A1:E5 com texto em negrito e um plano de fundo cor de pêssego (RGB(255, 228, 196)).
Conclusão
Ao utilizar Excel VBA 365, você pode melhorar a eficiência do seu trabalho no Excel. Aprender sobre macro criação e edição fornecerá uma habilidade inestimável no mundo moderno do trabalho, onde a automação é a chave para o sucesso.