处理办法:
双击【我的电脑】,打开【资源管理器】,点击【菜单栏】中的【工具】菜单下的【文件夹选项】。
在刚打开的【文件夹选项】中选择【文件类型】。
在【已注册的文件类型】中找到“XLS文件”,然后点击【高级】打开【编辑文件类型】对话框。
在【编辑文件类型】的【操作】单选框中选择【打开】项,然后点击编辑。
将【用于执行操作的应用程序】Excel路径后的参数变为【/e %1】,这里复制【】内的所有字符。
最后将【使用DDE】前面的勾选去掉就可以了。再来打开Excel文件,打开的速度会很快。
1、使用application.screenupdate,先 关闭屏幕更新,结束时打开;使用application.EnableEvents,先关闭事件的触发,结束时再打开
2、楼上 金融系统 说的很好,使用SpecialCells选择方法,可以剔除许多不需要的数据
3、尽量少使用单元格直接参与计算,多使用变量和数组变量,先将数据读入变量或数组变量,对变量进行运算
4、将单元格区域分块,比如,可以先读取一列,复制给数组,处理完了,再将数组的值一次性赋值给其他单元格,然后再将下一列读到这个数组……
5、尽量减少代码中的 select、activate、等没什么用的动作,直接使用 “.” 点符号取值或赋值
6、尽量使用with 语句,减少对象的读取动作
7、暂时想到这么多,……
最重要的一点:优化算法,减少循环次数,这就得看你的具体操作是什么了……
这都是我的经验啊,何况打了这么多字,楼主不但要采纳,还得加分啊~~~
用VBA吧!快速简单,将有规律的事让它自己运行去!
详情可以加我HI我或查看我的联系方式联系我!
在声明数据的后面加上
application.screenupdate = flase
在最后再还原
appliaction.screenupdate = true
然后具体的算法优化就要看你的代码了,如果是这个矩形区域中有很多空的没用的单元格,可以这样循环
For Each c In m.UsedRange.SpecialCells(xlCellTypeConstants)
next
第一,修改选项为手动运算,不要自动运算,需要结果时,再运行一次运算
第二、不要用复杂的公式,尤其是数组公式
第三,换用vba
第四,不用excel
最简便的方法是换台性能配置高端些的电脑运行该Excel文件。
如果没有高性能的电脑,就将本机上不用的程序尽量多的关闭掉之后再运算。