VB用了数组也太慢请问高手问题出在哪里如何改

2025-03-01 16:23:12
推荐回答(2个)
回答1:

有两个地方可改进

  1. redim preserve  这个语句每循环一次重定义一次数组长度,效率很底的。我做过一个试验,数组长度从1依次扩展到1亿花了5、6分钟,但是从1亿逐渐缩小到1才两三秒。原因是数组扩展时它要重新分配一个完整空间,然后把原有数据拷贝过去,而缩小的时候不需要重新分配空间,只是把最大下标指针前移就可以了。

  2. 通过循环数组元素连接成串也是很慢的,Join函数可取代。

  3. 如果要更快一些,就用词典对象,这个可以打开附件看看差别。

回答2:

你跑完多少秒,统计了吗,你可以关闭界面更新进行计算输出,完了再打开。
Application.ScreenUpdating = False
计算输出
Application.ScreenUpdating = True