文章目录

今天有个老外找到我说Excel卡得不行,打开Excel之后随便输入一个什么数字,然后就要卡上好几秒。
一开始觉得这个问题简单啊,估计要么因为公式引用得太多,要么是Excel的缓存什么的放在公共盘上了。所以就把以前写的怎么改缓存路径,怎么关自动计算给发了过去。
那边回得也快,我邮件发了不到10分钟,就回了,说都试过啦,没用,还是卡,填一个数字得用10几秒。
当时就觉得有点奇怪了,就说来远程一下看看吧。
远程连过去一看,的确,Excel的缓存都没问题都在本地硬盘上,然后把显示切换成显示格式,居然一张表一个公式都没有,整个Excel文件没有隐藏的页也没有隐藏的行和列。
奇了个怪的,稍微网上看了一下,有人说表格设置边框的时候不要选整张表,这样应用表格的单元格太多的话也会有麻烦,可是我这里都没设置边框,只用单元格底色区分了一下区域啊。
然后又检查了一下,发现了一个新的现象,就第一张Sheet这样,其他的几张就没这个问题,而且卡的时间蛮规律的,就是卡大概7秒钟。
这时候看到那些填了颜色的框子,突然脑筋里面咯噔了一下,打开了条件区域。
01
一看到条件区域的设置,问题就找到了。
02
第一次看到这么大的区域…
作者用心良苦,这样一来就基本把整张表都覆盖到了(科普一下,Excel2013最大的数据量是1048576行和16384列所以最右下的格子应该是$XDF$1048576)
这样一来,无论是在表里面修改什么东西,Excel都会在这百来亿个格子里面全部重新匹配一下条件格式,不卡死才怪(不过如果机器配置够好的话,其实也不会很卡的,所以做Excel大内存和固态硬盘是必须的)
解决方案也蛮简单的,其实他也用不到那么大的区域,把作用区域改到$A$2:$ZZ$65536保存一下再打开就好了
例子