1
resposta

[Dúvida] Mão na massa: laço de repetição - FOR

Minha primeira vez fazendo o código, alguém pode analisar e validar, por gentileza?

Sub Testando_Laco_For ()
'
' Alterar_nomenclatura_celula
'
for var_cont = 1 to 100
Range ("A1" & var_cont).formulaR1C1 = "Célula" & ActiveCell.Value
Next var_cont

1 resposta

Oi Maria.
Tudo bem.
Vou fazer uma analise detalhada com sugestões para efeito de aprendizado.
Segue ai:
Problemas encontrados:
Sintaxe do nome do procedimento
O espaço entre o nome e os parênteses não é permitido.
Correto: Sub Testando_Laco_For()
Concatenação de endereço de célula
"A1" & var_cont gera algo como "A11", "A12", etc., o que é errado (vai virar A11, A12, e não A2, A3...).
Correto: "A" & var_cont
Uso de ActiveCell.Value
Isso depende da célula ativa e provavelmente não é o que você quer.
Substitua por var_cont se você quer numerar as células.
Boa prática:
Sempre use Option Explicit e declare suas variáveis.
Código corrigido :

Option Explicit

Sub Testando_Laco_For()
    Dim var_cont As Long
    
    ' Preenche as células de A1 a A100 com "Célula 1", "Célula 2" etc.
    For var_cont = 1 To 100
        Range("A" & var_cont).Value = "Célula " & var_cont
    Next var_cont
End Sub

O que este código faz:

  • Cria um laço (For) de 1 a 100.
  • Em cada iteração, escreve na célula da coluna A o texto "Célula X", onde X é o número da linha.

Analisa as alterações ,faça os testes e me envia um feedback.
Bons estudos.