Pessoal estou tentando fazer um calculo com o solver no VBA e não estou conseguindo executar toda a minha busca, vale ressaltar que comecei agora em programação no VBA.
Vou postar minha planilha aqui e quem puder ir me ajudando a entender o porque não está funcionando fico agradecido.
Ele encontra o valor determinado, mas não deixa eu colocar mais restrições de minimo e máximo valor.
Obs.: peguei parte do código na internet e estou tentando ajustar os valores, caso tenham uma nova ideia podem postar.
ERRO: Ele me trás o valor correto, mas não dentre os valores minimo e máximo.
Sub lsAutoSolver()
SolverReset
Dim i As Long
Dim iTotalLinhas As Long
SolverReset
iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row
Range("C7").Select
Selection.Copy
Range("C8:C" & iTotalLinhas).Select
ActiveSheet.Paste
Range("D7").Select
Application.CutCopyMode = False
Selection.Copy
Range("D8:D" & iTotalLinhas).Select
ActiveSheet.Paste
Range("E7").Select
Range("E8:E" & iTotalLinhas).Select
Range("$G$3").Select
SolverOk SetCell:="$G$3", MaxMinVal:=3, ValueOf:=Range("G2").Value, ByChange:="$C$7:$C$" & iTotalLinhas _
, Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$G$4", Relation:=1, formulaText:=3
SolverAdd CellRef:="$C$7:$C$", Relation:=4
SolverAdd CellRef:="$E$7:$E$", Relation:=3, formulaText:=Range("$G$6")
SolverAdd CellRef:="$E$7:$E$", Relation:=1, formulaText:=Range("$G$7")
While i <= iTotalLinhas
SolverAdd CellRef:="$C$" & i, Relation:=5, formulaText:="binary"
i = i + 1
Wend
SolverSolve False
End Sub