Alteração de fórmul...
 
Notifications
Clear all

Alteração de fórmula, via VBA

2 Posts
2 Usuários
0 Reactions
400 Visualizações
(@tomazodair)
Posts: 0
New Member
Topic starter
 

Ótima 3a feira à todos.
Pessoal, não sou programador, tenho uma noção, sou da área de Finanças. Estou precisando fazer um trabalho, bem maçante, manual. Gostaria de saber se alguém poderia me dar um help. Uma parte, eu consegui, me virei, a outra, o o negócio travou 🙁

Vou anexar uma planilha apenas com as coluna que preciso alterar e a coluna que eu consegui rodar o VBA.

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.

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, preciso alterar apenas parte da fórmula, a partir da posição: (1-.

Minha dificuldade está em manter tudo que vem antes, inclusive esses valores fixos na fórmula, ele altera de acordo com o produto.

 

Agraço a todos.

 

 
Postado : 25/07/2023 11:32 am
(@osvaldomp)
Posts: 857
Prominent Member
 

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.

Postado por: @tomazodair

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