我正在尝试设置一个可以参数化给定2个输入的方程的宏。我无法想办法让Solver使用单元格的值作为“Value Of”。我现在的宏观如下:
Sub Macro2()
SolverReset
SolverAdd CellRef:="$G$2", Relation:=1, FormulaText:="100"
SolverAdd CellRef:="$G$2", Relation:=3, FormulaText:="0"
SolverOk SetCell:="$M$6", MaxMinVal:=3, ValueOf:="$B$2", ByChange:="$G$2", Engine:= _
3, EngineDesc:="Evolutionary"
SolverSolve
End Sub
执行宏时,弹出解算器结果框,显示Error in model. Please verify that all cells and Constraints are valid.
有什么方法可以实现我想要的目标吗?
答案 0 :(得分:2)
纳特。
使用引用单元格的变量,而不是直接引用“ValueOf”参数的单元格。例如:
Sub Macro2()
Dim target As Double
target = Range("B2")
SolverReset
SolverAdd CellRef:="$G$2", Relation:=1, FormulaText:="100"
SolverAdd CellRef:="$G$2", Relation:=3, FormulaText:="0"
SolverOk SetCell:="$M$6", MaxMinVal:=3, ValueOf:=target, ByChange:="$G$2", _
Engine:= 3, EngineDesc:="Evolutionary"
SolverSolve
End Sub
希望能解决您的问题。
此致 萨尔