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

2015-04-27 20:35 58 1 收藏

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

【 tulaoshi.com - 软件教程 】

在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://www.tulaoshi.com/ruanjianjc/)

MsgBox Content

End Sub

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

Office   Excel

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

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

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

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

Sub DelShapes()

Dim sp As Shape, n

For Each sp In ActiveSheet.Shapes

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

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://www.tulaoshi.com/ruanjianjc/)

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

n = 0

Next

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

MsgBox Content

End Sub

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

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20150427/170779.html

延伸阅读
标签: 电脑入门
可以在一本工作簿中选定一张或者多张工作表,并在其中输入数据、编辑或者设置格式。通常我们只能对当前活动工作表进行操作,但是,通过选定多张工作表,我们则可以同时处理工作簿中的多张工作表。对于选中的工作表,我们可以完成下列操作: (1) 输入多张工作表共用的标题和公式。 (2) 针对选中工作表上的单元格和区域进行格式化。 (3) 一次...
标签: 电脑入门
刚学习Excel的网友,面对书籍上所讲的工作薄、工作表,难于理解这些概念! 下面,本文就给您详细介绍,Excel中的工作薄和工作表是啥关系,如何来理解工作薄与工作表的概念。 一、工作薄 首先我们看下图。注意看标题部分。 我的工作薄.xls,其扩展名为xls,指的是一个Excel文件。该Excel文件,指的就是一个工作薄。 简单的讲,一个Excel...
标签: 电脑入门
Excel2007工作表的保护非常灵活,通过下面的实例,相信各位朋友会体会到它的好处。在此,将用到Excel2007的以下功能: ★插入公式 ★保护工作表 ★解除工作表保护 第1步 单元格保护 默认地,所有单元格都有锁定属性,一旦将Excel2007工作表保护起来,则不能在这些单元格里输入任何数据,为此,我们得取消部分单元格的锁定属性。 首先,右...
标签: excel
excel工作表放大或缩小   当将更多的信息添加到工作表时,对想要的内容进行导航和定位将变得更困难。Excel包含一些可用于查看表的选项,有时对于多个表而言更加有效。本节将介绍一些可以随意支配的另外的工作表选项。 放大或缩小表格以得到最佳视图 通常,在屏幕上看到的每件事物都是以100%的比例显示,但可以由 10 % (很小...
标签: excel
excel工作表批量重命名   方法一、打开excel表格,找到下面的工作表sheet1、sheet2、sheet3栏,选择要改名的工作表.比如sheet1,单击格式→工作表→重命名命令.这时工作表的标签上名字将被反白显示.然后在标签上输入新的表名即可。 方法二、或者你直接双击工作表标签即可重新命名。注意我们在excel命名工作表命名规则...

经验教程

173

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部