网站搜索

如何在运行 VBA 函数时限制 Microsoft Excel 的 CPU 使用率?


如果您有一个 VBA 函数可以将 Microsoft Excel 变成一个 CPU 吞噬的野兽,是否可以驯服它以便您可以在 Excel 结束时继续使用您的计算机进行其他活动?今天的 SuperUser Q&A 帖子可以帮助沮丧的读者重新控制 Excel。

今天的问答环节由 SuperUser 提供 - Stack Exchange 的一个分支,一个由社区驱动的问答网站分组。

外星战士剪贴画由 Clker.com 提供。

问题

超级用户 learningAsIGo 想知道在他的计算机上运行 VBA 脚本时是否有办法限制 Microsoft Excel 的 CPU 使用率:

有没有办法限制 Microsoft Excel 运行时的 CPU 使用率?我有一个计算大量巨型数组公式的 VBA 脚本。整个计算集大约需要 20 分钟才能完成,并使用 100% 的 CPU。这段时间我无法使用我的电脑,我宁愿让 Excel“在后台运行”,同时使用大约 50% 的 CPU 容量,这样我就可以继续做其他事情。

有什么建议么?我的电脑操作系统是Windows 7 Enterprise 64位,安装了2007 32位版本的Excel。

有没有办法在运行 VBA 函数时限制 Microsoft Excel 的 CPU 使用率?

答案

超级用户贡献者 mtone 为我们提供了答案:

如果从多个公式调用 VBA 函数,或者如果您的脚本生成或强制重新计算多个公式,那么这绝对应该利用 Microsoft Excel 中的多线程计算功能。分别地,这会为每个公式运行 VBA 函数的多个实例,或者在 VBA 脚本在单个线程上运行时同时重新计算多个单元格。

您可以通过转到选项并选择高级部分来限制 Excel 用于重新计算公式的线程数,然后向下滚动直到到达公式 小节。

有什么要补充的吗?在评论中关闭。想从其他精通技术的 Stack Exchange 用户那里阅读更多答案吗?在此处查看完整的讨论主题。