【发布时间】:2014-11-01 08:06:47
【问题描述】:
我有一本工作簿,其结构与此不甚相似(但更高级):
https://www.youtube.com/watch?v=UeGncSFijUM
那是:
(1) 一个工作表,其中一行进行了一些涉及 rand() 的计算,结果值被转移到下一行进行类似计算,最终结果出现在最多 250 行之后。
(2)Excel然后重复这250次计算20000次
(3)并对20000个独立的结果做一些计算。
很多都是通过函数完成的,我主要使用 VBA 来控制计算流程。
所有这一切都需要一些时间,我尝试逐步优化它。
现在每个 (1) 的结果很可能在第 250 行之前达到,平均第 125 行。如果在第 125 行满足该条件,我想删除其余的计算。说调用通过 if 语句擦除其余单元格内容的 VBA 脚本。
是否可以从函数中调用 VBA 语句?
【问题讨论】:
-
您不能从工作表调用宏,但可以调用 UDF 函数。但是,UDF 不能更改任何单元格,只能更改调用它的单元格。我想某种公共布尔变量可能会停止循环的 VBA 操作,而 UDf 可以改变它的状态。
标签: vba excel montecarlo