欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Excel单元格边界附加功能使用技巧
Excel工作表的复制与移动技巧
excel中隔行插入空行方法
搜狗高速浏览器的网速保护有什么特点
搜狗高速浏览器为什么需要网速保护
搜狗高速浏览器什么是“网速保护”
Excel 2007/2010 不开Excel的情况下如何直接打开Excel帮助
xlsx是什么文件,xlsx文件怎么打开
Excel中的表格如何转换成Word表格的方法
Excel表格的基本操作163招技巧
Excel 工作簿优化技巧
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

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倍以上。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站