我是VBA的新手,在宏中使用Solver时遇到了一些麻烦。我正在为Excel中的命令按钮分配一个宏,它们完美地计算所有内容,但最后也出现了一个丑陋的错误(“运行时错误1004,对象_应用程序的方法计算失败”)。
Sub serieus1()
'
' serieus1 Macro
'
'
SolverReset
SolverAdd CellRef:="$R$15", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="$L$18", Relation:=2, FormulaText:="$B$3"
SolverOk SetCell:="$L$19", MaxMinVal:=2, ValueOf:=0, ByChange:="$L$15:$Q$15", _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve
End Sub
答案 0 :(得分:2)
我的Solver宏中出现了同样的错误。
我尝试了几个Excel论坛中提到的一些内容。正如评论所示,我确实添加了SolverFinish
,并且还将我SetCells
的所有Range
包裹起来。我还保存了文件并退出了Excel。
这就是诀窍,当我回来时弹出错误消失了。
答案 1 :(得分:1)
我在VBA中运行了一些SolverOk
后,通过GUI使用Solver得到了这个运行时错误。我在MSDN上发现了一篇帖子"Excel 2010 and Solver Issue,",并建议您在运行SolverReset
之前添加SolverOk
。我在立即窗口中运行SolverReset
,这消除了运行时错误。
以前我没有像Ram Narasimhan推荐的那样SolverFinish
,如果我有,那可能首先阻止了错误,但这只是推测。