您的位置首页百科知识

EXCEL表格数据太大运行很卡,怎么样处理

EXCEL表格数据太大运行很卡,怎么样处理

处理办法:

双击【我的电脑】,打开【资源管理器】,点击【菜单栏】中的【工具】菜单下的【文件夹选项】。

在刚打开的【文件夹选项】中选择【文件类型】。

在【已注册的文件类型】中找到“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文件。

如果没有高性能的电脑,就将本机上不用的程序尽量多的关闭掉之后再运算。