0
我不是在谈论Excel VBA中的慢循环,因为读写单元的开销很大。我在说的是使用变量/数组循环“在内存中”。在Excel VBA中循环比其他语言(如C/C++)慢吗?
我不是在谈论Excel VBA中的慢循环,因为读写单元的开销很大。我在说的是使用变量/数组循环“在内存中”。在Excel VBA中循环比其他语言(如C/C++)慢吗?
假设你有两个循环做大致相同的事情,C/C++是很有可能是要快,因为它将被编译为机器代码,而VBA具有VBA解释器和Excel本身的开销。如果您计划将编组数据复制到C/C++来执行循环,那么编组将会有一些开销;多少取决于你如何选择这样做。
但是,请不要选择平台,因为循环速度更快,请选择适合该解决方案的平台,并使您获得最高效率。
根据我的经验,这不是循环这是缓慢的,但什么是内的循环,很慢。正如您大概已经发现的那样,在excel中逐个单元访问比直接数组访问要慢得多。
如果您需要知道要快多少,请衡量一下!用C或C++创建一个简单的VBA循环和一个等效的循环(或者尽可能的接近),看看哪一个更快(以及多少)。
+1这个答案提出了测试解决方案以符合_your_编程风格的想法。 – 2013-03-14 14:36:02
与Excel中的UDF相关的一个注意事项是,每次计算VBE标题栏时都会出现一个错误,这可能会导致UDF出现重大性能问题(即,您正在使用的递归函数从工作簿中的单元呼叫) – Karter 2013-03-14 14:58:43