VBA - 为什么我的CPU使用率不是100%

时间:2014-01-29 10:00:41

标签: multithreading excel vba cpu-speed

我在Excel下使用VBA来处理一些数据(输入是.XML文件)。 XML文件大小约为30MB,我对文件的每个条目进行了一些计算。 我的计算机在Core i5下运行Windows 7 64位(当我查看任务管理器时为4核心),内存为4GB

我的问题是:当我的VBA脚本运行时,为什么CPU使用率不会增加接近100%? 我可以理解,可能是,Excel不使用CPU的所有4个内核,但为什么不使用1个内核? (我已经尝试将优先级更改为“实时”)

我正在尝试找到一些解决方案来加快我的脚本执行速度...... 我已经尝试用以下提示来解释我的代码: http://blogs.office.com/2009/03/12/excel-vba-performance-coding-best-practices/

重新设计我的设计是为了在线程中分割我的脚本以便并行执行任务是唯一的解决方案吗?

谢谢你们; - )

1 个答案:

答案 0 :(得分:0)

VBA在一个单线程公寓中运行:是的,这对于多核机器来说是浪费。

要从并行化中受益,一种方法是(i)切换Excel的多线程计算模式(ii)将您的体系结构切换为使用xll而不是VBA