使用约束不断变化的求解器创建VBA代码

时间:2018-10-05 14:36:20

标签: excel vba excel-vba solver

您好,我是Visual Basic的初学者。 因此,我尝试使用具有4个约束的求解器VBA代码创建自动求解器计算。前三个约束不必更改,但最后一个约束必须根据每次计算的列中单元格的内容不断更改它的FormulaText。下面是我尝试过的最后一个代码。

For a = 1 To 3
    SolverOk SetCell:="$J$13", MaxMinVal:=2, ValueOf:=0, ByChange:="$C$13:$G$13", _
    Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverDelete CellRef:="$K$13", Relation:=2, FormulaText:=Cells(a + 18, 11)
    SolverAdd CellRef:="$K$13", Relation:=2, FormulaText:=Cells(a + 19, 11)
    SolverOk SetCell:="$J$13", MaxMinVal:=2, ValueOf:=0, ByChange:="$C$13:$G$13", _
    Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
Next a

如您所见,我试图将变量'a'设置为FormulaText的更改行,但是问题是单元格内容在FormulaText中被写为值,因此我无法正确删除下一个约束计算。

例如,约束条件写为:$ K $ 13 => 1.5% 而不是通常的方式:$ K $ 13 => $ K $ 19

我该怎么解决? 谢谢

0 个答案:

没有答案