求解器和"显示试用解决方案"窗口

时间:2015-11-26 15:18:31

标签: excel-vba loops solver vba excel

我正在运行下面的Solver宏:

Sub Merton()
'
' Merton Macro

Dim i As Long
For i = 7 To 56
  SolverReset

  SolverOk SetCell:="$K$7", MaxMinVal:=1, ValueOf:=0, ByChange:="$I$7:$J$7", _
Engine:=1, EngineDesc:="GRG Nonlinear"

  SolverAdd CellRef:="$G$" & i, Relation:=2, FormulaText:="$H$" & i
  SolverAdd CellRef:="$K$" & i, Relation:=2, FormulaText:="$B$" & i

  SolverSolve UserFinish:=True

  SolverFinish KeepFinal:=1

Next i

End Sub

我不断获得"显示试用解决方案"弹出,因为Solver停了下来。然后我按下"继续"按钮让Solver继续。有没有办法在宏中插入一个命令,告诉Solver不要显示"显示试用解决方案"窗口?

1 个答案:

答案 0 :(得分:2)

听起来你选择了Show Iteration Results选项。在运行代码之前手动取消选择它可能就足够了。或者,在代码顶部放置行

SolverOptions StepThru:=False

它应该取消选择该选项。

如果这不能解决问题,那么solver.com处的文档会说:

  

还会显示“显示试用解决方案”对话框(仅一次,而不是每个   试用解决方案)如果您按ESC,或者解算器到达其中一个   解决限制(最大时间,迭代次数,最大子问题或最大值   解决问题时的可行解决方案

也许你超出限制,需要增加你遇到的限制。