表哥表妹在使用Excel的时候
经常莫名其妙文档的容量会变得很大
而表格中的内容其实并不多
远不可能达到文件容量的大小
每次打开或保存文件时
都会很慢
之前收到一个表妹的求助,感觉她的文件比较有代表意义,于是把过程整理出来,给大家参考~
表妹的文件里面只有一个工作表
是一个815行9列的表格
有文字和公式
没有其他内容了
这个很普通的表格,容量达到了55M之巨!
打开的时候都很慢
开始第一步排除
首先发现上下和左右的滚动条
有很多的虚位
也就是说
在表格的右边和下边还有很多空白行和列
可以判断这些位置可能还有些内容。
但即使有内容也是不需要的了
于是选中空白的整行和整列进行删除
But,居然有一个提示:
确定后的结果更让人奇怪:
虽然用的笔记本不是最高配置
但是处理文档是绝对没问题的
上千行的删除以前也干过且毫无压力
第一回合受到了些许挫折
再来
既然这样提示
说明这些空白行列中的东西有古怪
有可能作者不小心留下了些什么
这些有可能是条件格式、数据有效性
也有可能有文字、公式
虽然这些都不影响行列的删除
但是还是一步步来检查。
按F5键打开定位功能
点击其中的定位条件进入定位界面
选择批注并确定
这个操作是检查有没有批注
结果提示说没发现:
再重复定位操作
分别选刚才定位窗口里面的各项内容:
对象、条件格式、数据有效性。。。
定位出下图中肉眼看不到的很多形状
后来问表妹才知道
在做表格的时候
还做过复制网页文字的操作
复制网页内容
会把里面的一些控件带进来
甚至是不可见的
这些在表格里面表现为形状
这些太多了的话当然也会影响文件容量的
所以有经验的会先把文字粘贴到记事本
然后再从记事本复制粘贴到Excel
让记事本过滤非文字的内容。
上述所有的古怪东西经过刚才的定位选中
都直接按delete键删除
所有都完成后
保存文档
查看文件容量还有28M,有收货!
继续~
检查另外一个定位也找不到的东西:
定义名称
打开功能区的公式、名称管理器功能
发现了很多古怪的内容
这些内容显然会造成文件虚胖的
这些已经难以考究是怎么来的了
反正是不需要的
于是在窗口中选中第一条
把滚动条拖到最后
按住Shift键后点最后一条
这样选中全部的定义名称后
点击窗口中的删除按钮
关闭窗口后保存文件
再检查文件大小
减小到了15.4M
一鼓作气
再继续~
既然这个名称管理器中莫名出现了东西
那么还有一种可能
就是定义了名称后
有可能被隐藏了起来
在刚才的窗口中是看不到的
这在人工做定义名称
或者对含有定义名称的表格复制
甚至在宏病毒干扰下都有可能出现
于是这次要使用一个相对高级的干货了——VBA!
按Alt F11
打开VBA编辑窗口
双击对应的工作表
然后在右侧的窗口中输入代码:
这个代码的作用
是把文件中隐藏的名称现形
按F5键运行这个代码
然后重新打开功能区的公式、名称管理器
又发现一个古怪东西:
事后表妹
总结得知这个叫作FilterDatabase的名称
是由于表格中的数据是从外部导入的
Excel会自动生成一个数据区域的名称
虽然后来这些数据有删除
但是这个名称还会保留
让Excel认为这个数据区域还在“使用中”
现在发现的名称
区域范围是$A$1:$XEW$65043
所以刚才第一回合的时候不能删除空白行列
现在终于可以了
毫不犹豫删除定义名称
回到第一回合的操作
将空白行列删除
并保存文档
这下查看文件属性中的容量:
740K!
这个才是一个不到一千行的表格可以接受的大小
把刚才现形用的代码删除,保存文档
胜利收工~
下面是刚才提到的VBA代码:
Sub showname()
Dim sh As Name
For Each sh In ThisWorkbook.Names
sh.Visible = True
Next sh
End Sub
觉得好用,不要忘分享、关注哦~
笔芯~
,