更改现有的约束。 等效于单击“数据分析 | ”组中的“规划求解”,然后在“规划求解参数”对话框中单击“更改”。
注意 默认情况下未启用规划求解加载项。 在可以使用此函数之前,必须已启用并安装规划求解加载项。 有关如何执行该操作的信息,请参阅使用规划求解 VBA 函数。 安装规划求解加载项之后,必须创建对该规划求解加载项的引用。 在 Visual Basic 编辑器中,如果模块处于活动状态,请单击“工具”菜单上的“引用”,然后在“可用的引用”下选择“规划求解”。 如果“规划求解”没有显示在“可使用的引用”下面,请单击“浏览”,然后打开 \Program Files\Microsoft Office\Office14\Library\SOLVER 子文件夹中的 Solver.xlam。
SolverChange ( CellRef、 Relation、 FormulaText)
CellRef 必需 Variant。 对单元格或单元格区域的引用,该引用构成约束条件的左边部分。 Relation 必需 Integer。 约束左侧和右侧的算术关系。 如果选择 4 或 5, 则 CellRef 必须引用可调整 (更改) 单元格,并且不应指定 FormulaText 。
Relation | 算术关系 |
---|---|
1 | <= |
2 | = |
3 | >= |
4 | CellRef 引用的单元格必须具有整数的最终值。 |
5 | CellRef 引用的单元格的最终值必须是 0 (零) 或 1。 |
6 | 由 CellRef 引用的单元格必须具有所有不同的和整数的最终值。 |
FormulaText 可选 Variant。 约束的右侧。
备注
如果 CellRef 和 Relation 与现有约束不匹配,则必须使用 SolverDelete 和 SolverAdd 函数来更改约束。
示例
本示例加载以前计算过的规划求解模型(该模型保存于工作表 Sheet1 上),更改其中的一个约束,然后再次求解该模型。
Worksheets("Sheet1").Activate
SolverLoad loadArea:=Range("A33:A38")
SolverChange cellRef:=Range("F4:F6"), _
relation:=1, _
formulaText:=200
SolverSolve userFinish:=False
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。