Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Dúvida do comando do VBA

Boa tarde, estou realizando a atividade passo passo conforme explicações do vídeo e, como teste, coloquei uns valores aleatórios para ver se daria certo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Então realizei o meu comando:

Sub Altera_codigo_empresa01() ' ' Altera_codigo_empresa01 Macro ' Insere a informação "EMP_" no código da empresa

For var_cont = 2 To 6

Range("A" & var_cont).FormulaR1C1 = "EMP_" & ActiveCell.Value

Next var_cont

End Sub

Mas não deu certo:

Empresa EMP_EMP_1000 EMP_EMP_EMP_1000 EMP_EMP_EMP_1000 EMP_EMP_EMP_1000 EMP_EMP_EMP_1000

Onde estou errando? Ou é algum tipo de erro do Excel?

1 resposta
solução!

Boa tarde! Parece que o problema está na forma como você está referenciando as células. O comando ActiveCell.Value está pegando o valor da célula ativa repetidamente, em vez de pegar o valor da célula na linha específica do loop.

Aqui está uma versão corrigida do seu código:

Sub Altera_codigo_empresa01()
    ' Altera_codigo_empresa01 Macro
    ' Insere a informação "EMP_" no código da empresa

    For var_cont = 2 To 6
        Range("A" & var_cont).FormulaR1C1 = "EMP_" & Range("A" & var_cont).Value
    Next var_cont
End Sub

Neste código, Range("A" & var_cont).Value pega o valor da célula na linha específica do loop, garantindo que cada célula receba o prefixo "EMP_" corretamente.

SE O PROBLEMA ESTIVER CORRIGIDO FAVOR ENCERRAR O TÓPICO.