当我在工作表之间移动时,我的解算器脚本没有实际解决问题。解算器应该通过每张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时脚本“运行”但是求解器不会改变任何东西。如果我通过并手动输入完全相同的参数到解算器中,它就会运行。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
更新:在切换工作页时,不要调用SolverReset,而是运行Application.Run“SolverReset”