在Excel中创建“求解器”循环以运行最小化的问题

时间:2019-06-13 10:48:31

标签: excel vba

我目前正在研究硕士论文,需要在excel上对大约300个数据数据点运行求解器功能。

请在我的excel表中找到仅对第35行运行求解器所需的代码。我的目标函数是通过更改单元格G和H中的值在单元格“ O”中表示的。由于我必须多次运行相同的分析,因此我不想像每天那样单独解决每行。

有人可以帮助我如何实现一个循环,其中VBA解决从第4行到第283行的所有目标单元。

Sub FinalMinimizing()  
    'FinalMinimizing Macro
    SolverOk SetCell:="$O$35", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$35:$H$35", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverOk SetCell:="$O$35", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$35:$H$35", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
End Sub

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您想像这样更改行号吗?

Sub FinalMinimizing()

Dim r As Long

For r = 4 To 283
    SolverOk SetCell:="$O$" & r, MaxMinVal:=2, ValueOf:=0, ByChange:="$G$" & r & ":$H$" & r, _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverOk SetCell:="$O$" & r, MaxMinVal:=2, ValueOf:=0, ByChange:="$G$" & r & ":$H$" & r, _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
Next r

End Sub