众所周知,VBA 只能同时在一个处理器上工作,所以当我运行一个宏时,Excel 只使用 50% 的 CPU 而不是全部(双核)。
是否有使 VBA 使用两个处理器的解决方法?
谢谢。
答案是否定的,除非您将工作负载拆分到多个 Excel 实例并在最后重新组合结果。
但是绝大多数 VBA 执行速度慢的情况可以提高几个数量级:
您可以将问题拆分到 Excel.Applications 的多个实例中,这样您就可以在一份 Excel 副本中做一半,在另一个副本中做一半。
我见过有人在 Excel VBA 中使用 8 个内核进行模拟工作。最后把结果重新组合起来有点痛苦,但它奏效了。
在 Excel 2010 中,转到文件 --> 选项 --> 高级。向下滚动直到您看到公式部分,您可以设置计算公式时要使用的处理器数量。这可能对 VBA 没有影响,但它适用于在整个列中运行公式。在处理大型工作簿时,它可以节省大量时间。此外,您可以转到任务管理器并右键单击 excel 并将优先级设置为高,以便您的机器将精力集中在那里。
** 此选项似乎不适用于 Mac **