我在“Microsoft Office Excel 2007”中有一个复杂的项目,它使用了大量的 UDF。通过 VBA 在工作簿_打开事件,我将 Excel 自动计算设置为关闭,并策略性地放置计算每当我需要时手动计算单元格的方法,以便 UDF 不会无意中执行重新计算。
如果工作簿是ONLY一个打开(或first打开)在 Excel 实例中,一切都很完美。仅当打开时AFTER另一个工作簿(在同一实例中),我的项目将从继承自动计算设置FIRST工作簿并对我的 UDF 执行无尽的计算。放置在 Workbook_Open 事件中的禁用代码在 UDF 完成计算之前不会执行(这可能需要很长时间)。仅当我的项目是时才会发生这种情况NOT第一个打开的。
Through http://www.decisionmodels.com/calcsecretse.htm http://www.decisionmodels.com/calcsecretse.htm,我发现执行计算过程是Excel的本质BEFORE执行 Workbook_Open 事件。
所以我的问题显然与正在开放的项目有关AFTER打开另一个工作簿并打开自动计算:
- 我如何强制我的项目disable自动计算
没有它首先执行重新计算(记住,只有问题
当该项目不是第一个打开的项目时发生,因为它将
遵循先前打开的工作簿中的设置)OR...
- 如何让项目在另一个实例中打开(双击时)以避免
继承以前工作簿的自动计算设置。
无论哪种方式,我寻求的答案是打开项目而不先执行计算。
Thanks
一种方法是使用不同的工作簿 (Opener.xls) 来启动打开 UDF 工作簿 (udf.xls)
Opener.xls 中的 Workbook_Open 代码
- 将计算设置为手动
- 打开 udf.xls
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)