使用VBA时Excel解算器错误

时间:2014-03-15 01:20:11

标签: excel vba excel-vba

我有以下代码,基本上是一个宏记录。在录制宏之后,我清除了一些重复发现的代码行。当我尝试再次运行此代码时,我得到Sub或Function未定义的错误。我查看了Stackoverflow上的其他Solver VBA问题,我似乎没有做错任何事情。有人可以帮忙吗?提前谢谢。

Sub Macro2()

SolverOk SetCell:="$BF$7", MaxMinVal:=2, ValueOf:=0, ByChange:="$BA$7:$BC$7", Engine:=2, EngineDesc:="Simplex LP"

SolverAdd CellRef:="$BA$7", Relation:=4, FormulaText:="integer"
SolverAdd CellRef:="$BA$7", Relation:=3, FormulaText:="0"

SolverAdd CellRef:="$BB$7", Relation:=4, FormulaText:="integer"
SolverAdd CellRef:="$BB$7", Relation:=3, FormulaText:="0"

SolverAdd CellRef:="$BC$7", Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$BC$7", Relation:=4, FormulaText:="integer"

SolverAdd CellRef:="$BE$7", Relation:=3, FormulaText:="0"

SolverOk SetCell:="$BF$7", MaxMinVal:=2, ValueOf:=0, ByChange:="$BA$7:$BC$7", Engine:=2, EngineDesc:="Simplex LP"

SolverSolve
End Sub

1 个答案:

答案 0 :(得分:1)

解算器是一个插件,因此在您启用它之前,它不会在您的vba代码中工作。我用07,所以你点击办公按钮 - >选项 - >加载项 - >管理添加项以启用它。不确定其他版本。

启用加载项后,必须将加载项连接到vba编辑器。打开VBA编辑器(Alt + F11),然后转到工具 - >参考,然后检查" SOLVER"并点击确定。

请参阅此MSDN

http://msdn.microsoft.com/en-us/library/office/ff196600%28v=office.15%29.aspx