Olá, Tomaz.
Está confuso o seu tópico, mas segue uma ideia, veja se aproveita.
Ao invés de alterar as fórmulas existentes, o código abaixo irá inserir a fórmula nova nos intervalos.
Na coluna "H" destacado na cor verde, eu tinha a fórmula : =K7*(1-((F7)/100))*AB7 e consegui alterar via VBA para =K7*((1-F7/100)*(1-(H7+I7)/100))*AB7 . Monte o VBA que está ano anexo.
Não bate, pois o código que acompanha o seu arquivo processa a coluna T e não a coluna H.
Ainda, você não informou a partir de qual célula da coluna H será inserida a nova fórmula. Se for a partir de H7, então a fórmula irá provocar erro de Referência Circular.
Agora para as colunas "I" e "J", tenho as fórmulas: =A5*(16,16*(1-((B5)/100))) * K5, preciso que fique assim:
=A5*(16,16*((1-B5/100)*(1-(H5+I5)/100))) * K5, ...
Você quer inserir fórmulas iguais em duas colunas, é isso ? Qual é o objetivo de fórmulas iguais?
Ainda, as novas fórmulas da coluna H fazem referência às células da linha 7, mas as fórmulas das colunas I e J fazem referência às células da linha 5.
... inclusive esses valores fixos na fórmula, ele altera de acordo com o produto.
Coloque esse valor fixo em uma célula, por exemplo em I1, isso evitará a necessidade de alterar o valor no código.
Na fórmula que o código irá inserir substitua o valor no código por I1.
Instale uma cópia do código abaixo em um módulo comum. Para inserir um módulo comum no editor de VBA : menu Inserir | Módulo | assim será criado o Módulo1. Cole o código nesse Módulo1.
O seu código está no módulo de EstaPastaDeTrabalho. Até funciona lá, mas é recomendável instalar nesse módulo somente os eventos de Arquivo.
Sub InsereFormulas()
Dim LR As Long
LR = Cells(Rows.Count, 1).End(3).Row
Range("H7:H" & LR) = "=K7*((1-F7/100)*(1-(H7+I7)/100))*AB7"
Range("I7:I" & LR) = "=A5*(16.16*((1-B5/100)*(1-(H5+I5)/100))) * K5"
Range("J7:J" & LR) = "=A5*(16.16*((1-B5/100)*(1-(H5+I5)/100))) * K5"
End Sub
Se o código acima não produzir os resultados desejados, então informe quais as fórmulas exatas que você quer inserir nas colunas H, I e J e a partir de qual linha.
Postado : 25/07/2023 11:06 pm