前几天使用GBA的宏,然后内存占用非常高。
然后导入了SLEEP函数,将进程减速以后,内存占用降低了。
然后我将EXCEL2016的宏导入到2013中,相同的进程:
本人1066+I7 8350,相同的代码
(都加入SLEEP 30)
EXCEL2016内存占用超过60%,基本满内存。
EXCEL2003内存占用大概在10%左右。
关闭sleep延时,EXCEL2013使用内存大概30%。
明显,使用VBA宏的时候,建议使用OFFICE 2003 。
揣测:可能是因为OFFICE 2016画质特效占用太多内存。
更新:
发现是读写的时候不停的更新屏幕,导致VBA执行速度慢。
只需要停止渲染即可提高速度。或者一次性操作范围而不是单个单个单元格,降低读写频率即可提高速度。