VBA解算器未重置

时间:2016-08-10 14:33:40

标签: excel vba

当我在工作表之间移动时,我的解算器脚本没有实际解决问题。解算器应该通过每张10次更改一列中的5个单元格来最大化参考单元格。

wslist = Array("A", "B", "C")
For j = LBound(wslist) To UBound(wslist)
Worksheets(wslist(j)).Activate
For i = 0 To 9
    SolverReset
    SolverOptions Precision:=0.1
    SolverOk SetCell:=Cells(7 + i * 4, 49), MaxMinVal:=1, ValueOf:=0, ByChange:=Range(Cells(6, 18 + i), Cells(10, 18 + i)), _
    Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:=Cells(7 + i * 4, 49), Relation:=1, FormulaText:="1"
*Constraints Omitted*
    Next i
Next j
Application.ScreenUpdating = True

当我从工作表A移动到B时,解算器似乎没有运行,即脚本在工作表A上正常运行但是当它假设移动到工作表B时脚本“运行”但是求解器不会改变任何东西。如果我通过并手动输入完全相同的参数到解算器中,它就会运行。

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

更新:在切换工作页时,不要调用SolverReset,而是运行Application.Run“SolverReset”