我有一个非常大的工作簿,包含许多工作表和数据。出于某种原因,当我手动执行特定的Goalseek时,它按预期工作,但如果我尝试在VBA中执行相同的Goalseek,它将按预期更新理想单元格,但似乎只是停止工作。因此我没有得到理想的结果。 (看起来像Goalseek只是在经过一定次数的迭代后停止,可能在一次之后停止。)
关于什么可能导致Goalseek无法在VBA中工作的任何想法,而不是在手动运行时工作?另外值得注意的是,我从来没有遇到过运行时错误。代码将执行到结束,而不是所需的结果。
我已经尝试在一个小工作簿中运行代码(带有一张数据)并且它按预期工作,所以这不是我的语法问题。
答案 0 :(得分:0)
这是你可以尝试的东西,记住我在一张大纸上有类似的问题。
在您正在使用的工作簿的Workbook_Open
代码块中 - 您可以添加
With Application
.MaxIterations = 500
.MaxChange = 0.000001
End With
或类似的。这将设置最大迭代量和最小步骤更改。
这听起来像是在努力解决所涉及的计算量,所以它可能不是解决方案。