2010-09-17 37 views
2

我在Excel 2007中运行某种级别的并发宏的问题/问题。Excel 2007中的多线程

这是我的情况。 (2)我正在使用Excel 2007
(2)我的电脑是英特尔双核。 (3)对于这个测试,宏非常简单并且在一个模块中定义。

申报子睡眠库 “KERNEL32”(BYVAL dwMilliseconds只要)

功能simple_macro() 睡眠1000 simple_macro = “世界你好” 结束函数

(4)我填“=工作表中的100 x 100个单元格中的“simple_macro()”。

(5)无论启用还是禁用选项中的多线程功能,完成宏处理所花费的时间都是相同的。它看起来像Excel调度器线性评估细胞...

这是可以理解的,如果我的宏正在做一些cpu密集型处理,但正如你可以看到它很简单,每个细胞是独立于其他人,因此它应在几秒钟内完成。

你有什么建议可以同时评估单元吗? Excel 2007是否支持多线程? (例如,在评估时充分利用多个CPU核心)

回答

3

虽然Excel 2007计算引擎支持多线程,但Excel VBA不支持。

因此,用VBA编写的用户定义函数被视为不是Excel的线程安全。