你如何限制微软 Excel运行 VBA 函数时的 CPU 使用率?

如果你有一个 VBA 函数可以将 Microsoft Excel 变成一个吃CPU的野兽,是否有可能驯服它,以便您可以继续使用您的计算机进行其他活动,同时 Excel 完成了吗? 今天的超级用户问答帖子来拯救沮丧的读者 Excel 重新得到控制。

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

外星战士剪贴画由 Clker.com.

问题

超级用户阅读AsIGo想知道有没有办法限制微软 Excel在他的计算机上运行 VBA 脚本时的 CPU 使用率:

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

有什么建议么? 我的电脑操作系统是 Windows 7 Enterprise 64-bit 和 2007 32-bit 版本 Excel 安装在它上面。

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

答案

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

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

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

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