0

我在 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 -编码最佳实践/

重新设计以将脚本拆分为线程以并行执行任务是唯一的解决方案吗?

多谢你们 ;-)

4

1 回答 1

0

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

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

于 2014-01-29T10:06:14.543 回答