Excel VBA教程:SolverOk函数

定义基本的规划求解模型。相当于单击“工具”菜单上的“规划求解”,然后在“规划求解参数”对话框中设置选项。

使用本函数之前,必须建立对规划求解加载宏的引用。当 Visual Basic 模块处于活动状态时,单击“工具”菜单上的“引用”,再选中“可使用的引用”列表框中的“Solver.xla”复选框。如果“Solver.xla”未出现在“可使用的引用”列表框中,请单击“浏览”按钮并打开“\Office\Library\Solver”子文件夹中的“Solver.xla”。

SolverOk(SetCell, MaxMinVal, ValueOf, ByChange)

SetCell   Variant 类型,可选。引用活动工作表上的单个单元格。相当于“规划求解参数”对话框内的“设置目标单元格”编辑框。

MaxMinVal  Variant 类型,可选。相当于“规划求解参数”对话框内的“最大值”、“最小值”和“值为”选项。

MaxMinVal 指定
1 最大。
2 最小。
3 匹配特定值。

ValueOf   Variant 类型,可选。如果 MaxMinVal 为 3,必须用本参数指定目标单元格应匹配的值。

ByChange   Variant 类型,可选。指定单元格或单元格区域,该单元格或区域内的值将改变,从而在目标单元格中获得期望的结果。该参数对应于“规划求解参数”对话框中的“可变单元格”编辑框。

Excel VBA教程:SolverOk函数·示例

本示例使用规划求解函数来使商务问题中的总利润达到最大值。通过指定 SetCell、MaxMinVal 和 ByChange参数,SolverOK函数定义了问题。


Worksheets("Sheet1").Activate
SolverReset
SolverOptions precision:=0.001
SolverOK SetCell:=Range("TotalProfit"), _
    MaxMinVal:=1, _
    ByChange:=Range("C4:E6")
SolverAdd CellRef:=Range("F4:F6"), _
    Relation:=1, _
    FormulaText:=100
SolverAdd CellRef:=Range("C4:E6"), _
    Relation:=3, _
    FormulaText:=0
SolverAdd CellRef:=Range("C4:E6"), _
    Relation:=4
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range("A33")

上页:Excel VBA教程:SolverLoad函数 下页:Excel VBA教程:SolverOkDialog函数

Excel VBA教程:SolverOk函数

Excel VBA教程:SolverOkDialog函数 Excel VBA教程:SolverOptions函数
Excel VBA教程:SolverReset函数 Excel VBA教程:SolverSave函数
Excel VBA教程:SolverSolve函数 Excel VBA教程:SQLBind函数
Excel VBA教程:SQLClose函数 Excel VBA教程:SQLError函数
Excel VBA教程:SQLExecQuery函数 Excel VBA教程:SQLGetSchema函数
Excel VBA教程:SQLOpen函数 Excel VBA教程:SQLRequest函数
Excel VBA教程:SQLRetrieve函数 Excel VBA教程:SQLRetrieveToFile函数
Excel VBA教程:隐藏的语言元素 Excel VBA教程:向文档中添加控件
Excel VBA教程:向用户窗体中添加控件 Excel VBA教程:应用程序对象事件
Excel VBA教程:图表对象事件 Excel VBA教程:控件和对话框事件
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号