在Excel VBA中循环比在其他语言(如C / C ++)中慢吗?

时间:2013-03-14 13:38:10

标签: excel-vba vba excel

由于与读取和写入单元格相关的开销,我不是在谈论Excel VBA中的慢速循环。我所说的是使用变量/数组循环“在内存中”。

1 个答案:

答案 0 :(得分:5)

假设你有两个大致完全相同的循环,C / C ++ 很可能更快,因为它将被编译为机器代码,而VBA具有VBA解释器的开销和Excel本身。如果你打算编组数据到C / C ++来进行循环,那么编组将会有一些开销;多少取决于你如何选择这样做。

但是,不要仅仅因为循环更快而选择平台,选择适合解决方案的平台并使您最有效率。

根据我的经验,循环不是很慢,但内部循环的速度很慢。正如您可能已经发现的那样,excel中的逐个单元访问比直接阵列访问慢得多。

如果你需要知道快多少,请测量它!在C或C ++中创建一个简单的VBA循环和一个等效循环(或尽可能接近),看看哪一个更快(以及多少)。