各位好,我想请问,我有一段VBA执行到最后速度会非常的慢
不晓得是哪个部分占了太多内存没清除
这段扣做的事情如下
1. 从某3个url自动下载档案并且另存,共有三个档案。
2. 打开已经有的一个template档,把上述三个档案的资料复制贴上到这个template的
第一张sheet
(复制结束都有用application.cutcopymode false)
3. 从template另存一个新的档案x
4. X这个档案里面插入第一栏,用for next循环把第一格的值等于后面每一格以分号相连
(例如A1 = B1;C1;D1....) 这里用的是offset, for i = 1 to 20
档案的本身大概只有700*20格而已,照理说量非常小。
问题出在4这个步骤,看得出来执行到这的时候每秒大概只跑的出两列
也就是我700列得执行超过五分钟
但我如果把同一段扣剪下,改成我手动把X打开再执行
那么这个步骤可以秒杀,因此我想是前面的步骤占了内存?
一开始执行这一整段程式码的档案本身已经有好几个module
是否这个也有影响?
我尝试过先整理资料再另存,没有改善
不太确定还有可能是什么原因,请教各位高手了
感谢