GoalSeek (Atingir M...
 
Notifications
Clear all

GoalSeek (Atingir Meta) em cada linha

4 Posts
2 Usuários
0 Likes
1,356 Visualizações
(@leonardooliveira)
Posts: 2
New Member
Topic starter
 

Pessoal, boa tarde

 

Estou com uma dúvida com relação a uma macro de atingimento de meta. Para contextualizar, eu preciso realizar um atingir meta para cada linha, onde a célula de definição é o Total (Coluna AH), a meta é o valor do investimento (coluna BA) que mudará para cada linha e será o input que a área colocará e alternando a célula Event (coluna Z), então é um caso de atingir meta com variação do valor de meta. 

 

Eu criei a seguinte Macro: 

 

Sub AtingirMeta()

Dim MargemDesejavel As Double

MargemDesejavel = Range("BA" & ActiveCell.Row).Value

Range("AH3").Select

While ActiveCell.Value <> ""

' AtingirMeta Macro
'

'
ActiveCell.GoalSeek Goal:=MargemDesejavel, ChangingCell:=Range("Z" & ActiveCell.Row)

ActiveCell.Offset(1, 0).Select

Wend

End Sub

----------------

Porém ela não funciona, ela faz o "atingir meta" para um único valor de meta que é o da primeira linha. Vocês conseguem me ajudar, por favor? Talvez não seja a melhor forma de fazer este teste de hipótese, se alguém tiver alguma outra sugestão, por favor, fique a vontade. 

 

O arquivo exemplo segue em anexo, com apenas três linhas, mas são muito mais. 

 

Obrigado pela ajuda. 

 


Editado pela Moderação. Motivo: Utilize o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

 
Postado : 03/09/2020 1:55 pm
(@anderson)
Posts: 203
Reputable Member
 

 

 

O uso de Select deixa o código mais lento. Evite sempre que for possível.

 

Sub AtingirMeta()

Dim MargemDesejavel As Double

Dim linha As Long

'Range("AH3").Select

linha = 3

While Range("BA" & linha).Value <> ""

' AtingirMeta Macro

'

'

MargemDesejavel = Range("BA" & linha).Value

Range("AH" & linha).GoalSeek Goal:=MargemDesejavel, ChangingCell:=Range("Z" & linha)
linha = linha + 1
'ActiveCell.Offset(1, 0).Select

Wend

End Sub

 

 

 

Este post foi modificado 4 anos atrás 15 vezes por Anderson

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 03/09/2020 6:17 pm
(@leonardooliveira)
Posts: 2
New Member
Topic starter
 

@anderson Desculpe, não tenho o costume de usar fóruns, primeira vez. 

 

Obrigado pela ajuda! Funcionou perfeitamente.

 
Postado : 03/09/2020 8:57 pm
(@anderson)
Posts: 203
Reputable Member
 

Moderadores,

Sugestão para o título deste tópico:

Atingir meta

 

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 04/09/2020 7:08 am