Excel 工作簿优化技巧

EXCEL教程

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

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

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

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

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

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

SubCountShapes()

DimnAsDouble

DimwsAsWorksheet

DimContentAsString

ForEachwsInWorksheets

n=ws.Shapes.Count

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

Next

MsgBoxContent

EndSub

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

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

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

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

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

SubDelShapes()

DimspAsShape,n

ForEachspInActiveSheet.Shapes

Ifsp.Width<14.25Andsp.Height<14.25Then

sp.Delete

n=n+1

EndIf

Nextsp

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

EndSub

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

SubDelAllShapes()

DimwsAsWorksheet

DimspAsShape

DimnAsDouble

DimContentAsString

ForEachwsInWorksheets

ForEachspInws.Shapes

Ifsp.Width<14.25Andsp.Height<14.25Then

sp.Delete

n=n+1

EndIf

Next

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

n=0

Next

MsgBoxContent

EndSub

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

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

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

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

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

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

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

(0)

相关推荐

  • 怎么打印一个工作表的内容(Excel工作簿打印技巧合集)

    Excel 让你能够打印工作表或工作簿的全部或部分,只打印所需信息.这取决于准备文件的方式.可在打印前进行设置,控制打印内容.本篇文章目录打印前设置选项在打印工作表之前设置页边距你知道可以设置页边距以 ...

  • 巧用宏快速合并200个Excel工作簿

    你会不会有大量Excel工作簿需要合并到一起呢?你可以手动完成这一工作,但这个工作可能会花费你一整天的时间。要完成合并工作,最好使用宏,这样只需花几分钟便可搞定。本文所介绍的技巧将向你说明如何创建这样 ...

  • 新建excel工作簿文件

    在办公软件中,常常有大量的数据信息需要进行存储和处理,通常可以应用到Excel表格进行数据存储,例如,公司员工的资料信息就可以使用Excel表格进行存储. 要存储数据信息,首先需要 新建Excel文件 ...

  • 为Excel工作簿快速创建工作表目录的方法

     我们经常把同类相关Excel工作表集中保存在同一文档中,以便于在各表格间进行引用、查看。当一个文档中的工作表达到一定数量时,要想找到需要的工作表就变得很麻烦了。此时若能建立一张“目录”工作表显示所有 ...

  • Excel工作簿连接(导入)外部数据的方法

    Microsoft Office Excel连接外部数据的主要好处是可以在Excel中定期分析此数据,而不用重复复制数据,复制操作不仅耗时而且容易出错。连接到外部数据之后,还可以自动刷新(或更新)来自 ...

  • 编辑管理Excel工作簿到外部数据的连接

    可以使用Excel创建和编辑到外部数据源的连接,这些连接存储在工作簿或连接文件中。通过使用“工作簿连接”对话框,您可以轻松地管理这些连接,包括创建、编辑和删除它们。 了解数据连接 Excel2007 ...

  • 快速为Excel工作簿创建工作表目录的方法

    我们经常把同类相关Excel工作表集中保存在同一文档中,以便于在各表格间进行引用、查看。当一个文档中的工作表达到一定数量时,要想找到需要的工作表就变得很麻烦了。此时若能建立一张“目录”工作表显示所有工 ...

  • 改变Excel工作簿默认的单元格批注格式

    如果您的Excel工作簿中运用了一些公式,又怕别人看不懂,可以在存在公式的单元格中插入批注,对公式进行必要的解释。批注是一种十分有用的提醒方式,不仅可以用来解释复杂的公式,也可以将对其它用户工作簿的反 ...

  • 如何共享Excel工作簿

    共享工作簿功能,可以让用户使用共享工作簿来创建和编辑公式.更改格式乃至添加工作表.通过在 Microsoft Excel 工作簿和外部工作簿或外部文件中的信息之间建立几种链接.与工作簿链接的文件既可以 ...