繁体   English   中英

使用不同的约束范围自动求解

[英]Automate Solver with varying constraints range

我想创建VBA以使用以下参数运行规划求解:

设定目标:G6

最小化

通过更改变量单元格:J6:J ----

遵守约束条件:L6:L-- = N6:N--(例如:L6 = N6,L7 = N7,...)

问题在于变量和约束范围在我键入----和-的地方有所不同。 我知道变量单元格范围一直到单元格N1上的数字,而约束单元格范围一直到单元格N3上的数字。

我不知道如何创建VBA,但我尝试过(不起作用):

  Sub SolverMacro()
Dim var
Dim var2
    var = Range("Sheet2!$N$1").Value
    var2 = Range("Sheet2!$N$3").Value
    SolverReset
    SolverAdd CellRef:=Range("L6", "L" & var2), Relation:=2, FormulaText:=Range("N1", "N" & var2)
    SolverOptions Assumenonneg:=True
    SolverOk SetCell:="$G$6", _
             MaxMinVal:=2, _
             ByChange:=Range("J6", "J" & var)
    SolverSolve userFinish:=True
End Sub

我该如何工作?

感谢大家! 我找到了答案,并且现在可以正常工作。 起作用的代码是:


Sub SolverMacroX()
        SolverReset
        Dim x As Integer
        Dim Aux As Long
        Aux = Range("$L$3")
        For x = 6 To Aux
            SolverAdd CellRef:="L" & x, Relation:=2, FormulaText:=Range("N" & x)
        Next
            SolverOptions AssumeNonNeg:=True
            SolverOk SetCell:="$G$6", _
                     MaxMinVal:=2, _
                     ByChange:=Range("J6", "J" & Range("$J$3")), _
            SolverSolve userFinish:=True
        End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM