如何解决在VBA中遇到错误时,如何设置变量的值?
我正在构建一个函数,用于计算一系列大约1,000个不同电力项目的年收入的内部收益率。这些项目的年度现金流量可以从最低的8,000美元到最高的1,000,000美元不等。 VBA中的IRR函数需要两个参数:现金流量数组(其中第一个必须为负-在这种情况下,基本上是CAPEX,然后是正的年收入)和该函数用于开始迭代计算的初始猜测IRR。除了当VBA IRR函数在达到IRR时超过20个迭代的内置限制时,我的函数都很好用。结果,如果您为高现金流量项目将Guess设置得过低,则IRR会用尽迭代并返回运行时错误5。或者,如果将初始猜测值设置得过高,则IRR将用尽迭代。低现金流量项目。
当我遇到超过20次迭代的错误(运行时错误5)时,我想将IRR设置为某个值。我已经尝试过类似的方法,但是它不起作用:
If IsError(IRR(Values(),Guess)) Then
NodeIRR = -100
Else
NodeIRR = IRR(Values(),Guess)
End If
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。