2010-09-17 129 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的線程安全。