繁体   English   中英

VBA忽略Excel Solver中参考单元格的约束

[英]VBA ignoring constraints of reference cell in Excel Solver

我正在Excel 2013中运行一个宏,该宏对30行的每一行(每行一个帐户)使用规划求解。

  • B栏是我的帐户名。
  • C列是“总成本”。
  • E列是低成本的雇员人数。
  • F列是中等成本的员工人数。
  • G列是高成本员工人数。
  • H列是“每位员工的低成本”。
  • 第一列是“每位员工的中等成本”。
  • J列是“每位员工的高成本”。
  • 列K是(E:G,H:J)的总积。
  • L列是C列和K列之间的差。在规划求解中,这是目标单元格,通过更改I和J列需要将其设置为0。

我有两个约束:

  1. 我必须大于或等于J。
  2. H必须大于或等于I。

*请注意,H = C-sum(I,J),因此它不是自变量。

问题1.对于第一个约束:我的代码中包含:

SolverAdd CellRef:=Range("I" & RowCount), _
        Relation:=3, _
        FormulaText:=Range("J" & RowCount)

*请注意,我尝试使用谷歌搜索FormulaText,但似乎我发现的只是将其等同于一个值。 我不想要一个值。 我希望它引用一个单元格。 但是我一直忽略的代码。 结果将显示J大于I。如何解决这个问题?

问题2。我在运行时总是出错

   SolverAdd CellRef:=Range("H" & RowCount), _
            Relation:=3, _
            FormulaText:=Range("I" & RowCount)

我不确定为什么会失败。 是否因为H引用方程式而不是空白单元格? 如果是这样,有什么解决办法吗?

谢谢。

您对此有进一步的了解吗?

尽管我在H中有一个硬编码的值,但这对我来说似乎还可以

SolverReset

SolverOk SetCell:="$L$3", MaxMinVal:=3, ValueOf:=0, ByChange:="$I$3:$J$3", _
    Engine:=1, EngineDesc:="GRG Nonlinear"

SolverAdd CellRef:="$H$3", Relation:=3, FormulaText:="$I$3"

SolverAdd CellRef:="$I$3", Relation:=3, FormulaText:="$J$3"

SolverSolve

暂无
暂无

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

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