Excel 工作表体积大小优化心得整理

告村支书

告村支书

2015-04-27 20:35

图老师excel达人又跟大家见面了,各种excel小技巧都会每天发布,很多小技巧可以帮助我们解决很多问题,再也不要去excel城花冤枉钱啦!

在Excel表格中怎么释放文件大小容量?

Excel表格中有很多数据,发现在保存起来速度很慢,就除删除了2/3的数据,但表格的文件大小依然没有变,想知道这是为什么?怎样才能使文件内存变小?

把你的数据什么的复制后,存到另一个Excel表格中试试,是不是这个文件是编辑次数太多了,造成文件过大,EXCEL文件的保存机制造成的。

1、公式太多,如果公式很有规则可以用VBA

2、条件格式,如是有太多的条件格式也会造成文件过大。

3、对象太多,例如插入的线条,图形,有时在复制单元格时会不注意就复制出很多线条,并且通常难以查觉

4、引用链接,引用其它工作表时,如果引用得太多,也会使EXCEL打开,保存过慢。

最后提示 可按F5查找如对象、公式、参照,看是不是太多,没有必要的都清除。

1、工作表中存在大量的细小图形对象

工作表中如果存在大量的细小图形对象,那么文件体积就可能在用户毫不知情的情况下暴增,这是一种很常见的“Excel 肥胖症”。可以使用下面两种方法来检查Excel 工作表是否存在这种症状。

(1)在工作表中按键调出“定位”对话框,单击“定位条件”按钮,在“定位条件”对话框中选择“对象”项,单击“确定”,如图1 所示。然后观察工作表上是否会显示很多被选定的对象。

Office   Excel

如果工作簿中包含多个工作表,需要在每个工作表中用这种方法进行查找。关于“定位”功能的更多技巧,请参阅技巧28。

注意:隐藏列或行中的对象利用这种方法无法被看到。

(2)用VBA 对工作簿中的对象进行计数,查看在每个工作表中实际存在的对象数量,如果此数量不合理,就说明有问题。按打开VBA 编辑器窗口,单击菜单“插入”→“模块”来插入一个新模块,默认情况下为“模块1”,然后在模块1 的代码窗口中输入以下代码:

Sub CountShapes()

Dim n As Double

Dim ws As Worksheet

Dim Content As String

For Each ws In Worksheets

n = ws.Shapes.Count

Content = Content & "工作表" & ws.Name & " 有" & n & " 个对象" & vbCrLf

Next

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ruanjianjc/)

MsgBox Content

End Sub

最后,按F5 键来运行这段代码,就能看到检查结果。在看似空白的工作表中,存在着大量的图形对象,如图2 所示。

Office   Excel

如果确认在工作表中存在大量的对象,而用户并不需要它们,可以用两种方法来处理:

(1)刚才的定位方法中,当对象全部处于被选择状态时按键删除它们即可。

(2)使用宏在多个工作表中更加精确地删除这些无用对象。比如,可以根据需要只删除高度和宽度都小于14.25 磅(0.5 cm)的对象。

只删除活动工作表中特定大小的对象的代码为:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ruanjianjc/)

Sub DelShapes()

Dim sp As Shape, n

For Each sp In ActiveSheet.Shapes

If sp.Width < 14.25 And sp.Height < 14.25 Then

sp.Delete

n = n + 1

End If

Next sp

MsgBox "共删除了" & n & "个对象"

End Sub

删除所有工作表中的特定大小的对象的代码为:

Sub DelAllShapes()

Dim ws As Worksheet

Dim sp As Shape

Dim n As Double

Dim Content As String

For Each ws In Worksheets

For Each sp In ws.Shapes

If sp.Width < 14.25 And sp.Height < 14.25 Then

sp.Delete

n = n + 1

End If

Next

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ruanjianjc/)

Content = Content & "工作表" & ws.Name & " 删除了" & n & " 个对象" & vbCrLf

n = 0

Next

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ruanjianjc/)

MsgBox Content

End Sub

这些令人疑惑的对象的产生原因可能有以下几个。从网页上复制内容后直接粘贴到工作表中,而没有使用选择性粘贴。无意中使用绘图工具栏的直线工具或其他绘图工具,不知不觉中在工作表中插入了小的直线或其他图形对象,由于尺寸很小,于肉眼几乎无法看到。而后,又通过单元格的复制产生了大量的小绘图对象。在工作表中插入了图片或其他绘图对象,操作中又将其高度宽度设为0 或很小的值,通过复制产生了大量的对象。

在行或列的位置中插入了绘图对象,对象的属性为“大小位置随单元而变的(默认的)”,然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到。工作表中的对象设置了不可见属性(Visible=false),或对象的线条与填充色均设与背景色相同,使对象无法被看到。

2 工作表中在较大的区域内设置了单元格格式或者条件格式

仔细观察工作表滚动条,如果滑标很小,且拖动滑标向下到底,可以到达很大的行号或列标,可是工作表中实际使用到的区域很小,如图3 所示。这就说明,有相当大一块区域可能被设置了单元格格式或者条件格式,这些并没有被用到的单元格,能对文件体积产生很大的影响。

解决办法如下。单击到真正需要的行号的下一行,按组合键,选择所有的多余行(也可以在名称框中输入行号如2000∶65536),单击菜单“编辑”→“清除→“格式”(或全部)。同理,也可以清除多余列的格式。

有时,用户确实需要为工作表中空白的区域预设格式,以备将来增加数据之用,但一定要使用正确的方法,否则就会造成大量用不到的区域被预设了格式,徒增文件体积。

如果需要在一行或一列的很大范围设置统一的单元格格式,可以选择整行或整列设置单元格格式,而不要只选择行列的一部分单独设置格式。前者不会造成文件体积虚增的问题,而后者会增加文件体积。试验一下在两个Excel 文件里面分别对A1∶A65536 设置单元格格式和对A∶A 设置单元格格式,目的都是为A 列设置格式,但最终文件的体积相差100 倍以上。

展开更多 50%)
分享

猜你喜欢

Excel 工作表体积大小优化心得整理

软件教程 电脑应用 excel
Excel 工作表体积大小优化心得整理

Excel:工作表锦上添花

办公软件
Excel:工作表锦上添花

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Excel工作簿与工作表

办公软件
Excel工作簿与工作表

Excel 工作簿优化技巧

电脑入门
Excel 工作簿优化技巧

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

word怎么压缩插入图片的大小优化文档体积

计算机应用技术 word
word怎么压缩插入图片的大小优化文档体积

Excel工作表怎么移动?

excel
Excel工作表怎么移动?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel如何添加工作表及修改工作表标签名默认为Sheet1

Excel如何添加工作表及修改工作表标签名默认为Sheet1

Excel2010拖动单元格来将其内容快速的填充到其他单元格中

Excel2010拖动单元格来将其内容快速的填充到其他单元格中
下拉加载更多内容 ↓