Jor*_*rdi 5 excel vba user-defined-functions
我在 Excel 书中有一些用户定义的函数。我使用了它们一段时间,但过了一会儿,我从单元格中删除了对这些函数的调用,因为我找到了完成相同任务的更好方法(我没有在 VBA 编辑器中删除函数定义本身)。因此,这些函数不再在书中或任何 VBA 代码中被调用,我使用搜索进行了检查,百分百确定。
现在我正在对我的代码进行一些审查,我注意到一些奇怪的事情:在同一工作簿中的 Sub 过程中(与这些函数无关)我调用Application.CalculateFullRebuild
. 当发生这种情况时,那些 UDF 被调用,我可以通过在 UDF 内设置断点来看到它。
我想知道为什么会发生这种情况以及可以采取什么措施来避免它,因为它不必要地减慢了 Sub 的速度。
谢谢!
Application.CalculateFullRebuild
MSDN 参考资料是这样说的:
该
CalculateFullRebuild
方法类似于重新输入所有公式。... [运行时] 对所有打开的工作簿中的数据执行完整计算并重建依赖关系。
进一步的 MSDN 参考指出:
导致Excel重建依赖树和计算链
这意味着模块代码或工作表代码中的任何 UDF 将被重新计算,因为 Excel 正在重建和测试计算链中函数的依赖性和使用。
如果您正在寻找一种通过您的 手动计算工作表中现有公式的方法Sub
,您可以使用“Application.Calculate”(MSDN):
Application.Calculate 'for all open Sheets
Sheets("Name of Sheet").Calculate 'Specific Sheet
Sheets("Name of Sheet").Range("Name of Range").Calculate 'Specific Range
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
340 次 |
最近记录: |