【问题标题】:EXCEL VBA Run Solver Using a Loop for Multiple RowsEXCEL VBA 使用多行循环运行求解器
【发布时间】:2018-07-08 17:04:51
【问题描述】:

我已经录制了一个宏来在 excel 上运行求解器,现在需要它循环以使用必要的参数在一系列行(54 到 288)上运行。

我正在尝试通过更改 Cols.CQ 来最小化 Col.CQ。 CF:CJ(应该允许为负数) 并添加 2 个约束:

  • Col CM 必须 = 1
  • Col CQ 必须 >= 0

非常感谢您的帮助!请在下面找到代码。

SolverOk SetCell:="CQ54", MaxMinVal:=2, ValueOf:=0, ByChange:="CF54:CJ54" _
    , Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="CM54", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="CQ54", Relation:=3, FormulaText:="0"
SolverOk SetCell:="CQ54", MaxMinVal:=2, ValueOf:=0, ByChange:="CF54:CJ54" _
    , Engine:=1, EngineDesc:="GRG Nonlinear"
SolverOk SetCell:="CQ54", MaxMinVal:=2, ValueOf:=0, ByChange:="CF54:CJ54" _
    , Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve

【问题讨论】:

    标签: vba excel optimization solver


    【解决方案1】:

    未经测试:

    For n = 54 to 288
        SolverReset
        SolverOk SetCell:="CQ" & n, MaxMinVal:=2, ValueOf:=0, _
             ByChange:="CF" & n & ":CJ" & n , Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:="CM" & n, Relation:=2, FormulaText:="1"
        SolverAdd CellRef:="CQ" & n, Relation:=3, FormulaText:="0"
    
        SolverSolve
    Next n
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 2019-05-27
      • 2016-08-08
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多