Excel求解器 – 使用改变“ValueOf”input的优化

我试图build立一个macros,可以参数化方程给出2个input。 我找不到一种方法让Solver使用单元格的值作为“Value Of”。 我现在所拥有的macros如下:

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 

当macros被执行时,解算器结果框popup, Error in model. Please verify that all cells and Constraints are valid.中出现Error in model. Please verify that all cells and Constraints are valid. Error in model. Please verify that all cells and Constraints are valid.

有什么方法可以完成我想要的吗?

纳特。

而不是直接引用“ValueOf”参数的单元格,请使用引用的单元格的variables。 例如:

 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 

希望解决您的问题。

问候,萨尔