很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:
一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。可能的原因:(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,(2)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象(3)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为0或很小的值,通过复制产生了大量的对象(4)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到(5)工作表中的对象设置了不可见属性(Visible=false)或对象的线条和填充均设为与底相同,使对象无法看到
判断方法:(1)CTRL-G,定位,定位条件中选“对象”,确定后会显示很多被选择的小对象(这种方法在隐藏列或行中的对象并不能看到)(2)用VBA对对象进行计数,看看有多少个对象在工作表中,与你的工作表中需要的对象数量是否相符
Sub countshapes() Dim n n = ActiveSheet.Shapes.Count MsgBox "本工作表共有" & n & "个对象" End Sub
解决办法(1)如果确认工作表中没有你需要的对象或控件,用CTRL-G,定位,定位条件中选“对象”,确定后按DEL键删除,会删除工作表中所有的对象(2)用VBA删除,可以根据需要删除高度或宽度小于一定值的小对象,如
Sub delshapes() Dim sp As Shape, n For Each sp In ActiveSheet.Shapes If sp.Width < 14.25 Or sp.Height < 14.25 Then '约小于0.5cm,根据需要设定sp.Delete n = n + 1 End If Next sp MsgBox "共删除了" & n & "个对象" End Sub
二、工作表中在很大的范围内设置了单元格的格式或者条件格式
可能的原因:操作时选择在很大的区域设置或复制了单元格的格式或条件格式(并不是整行整列),而真正用的区域并不很多,造成工作表内容不多,文件却很大。
判断方法:工作表滚协条的拖动滑标很小,拖动滑标向下可以达到很大的行号或列标,滑标拖到最下或最右的位置显示的列标或行号就是实际设置了单元格格式的地址
解决办法:1、定位真正需要的行号下一行,按CTRL+SHIFT+下箭头,选择所有的多余行(也可以在名称框中输入行号如:2000:65536),编辑-清除-格式(或全部),同理清除可清除多余列的格式2、如果需要在一行或一列的很大范围设置统一的单元格格式,可以选择整行或整列设置单元格格式,而
不要只选择行列的一部分单独设置格式,再根据需要对行列的个别单元格设置单独的格式,对整行或整列甚至整个工作表设置单元格格式并不会造成文件虚增的问题,对A1:A65536设置单元格格式与对A1:A65535设置单元格格式文件太小是完全不同的3、如果欲对已设置的不同格式的单元格设置整列或整行统一的格式,应选整行或整列,先清除单元格的格式或将单元格格式设为常规,再对整行或整列设置其他的单元格格式,直接设置有时可能并不能使文件减肥4、对条件格式也可用编辑-定位,定位条件中选“条件格式”,然后在格式-条件格式中删除条件格式三、为很大的区域设置了数据有效性
形成原因:与第二项基本相同,选择很大的区域设置了数据有效性,或将有有效性设置的单元格复制到很大的区域,尤其是在有效性设置中进行了“输入法”“输入信息”“出错警告”的设置,更具有隐蔽性,一般不易发现。
判断方法:与由于单元格格式造成文件虚肥的原因相同,在清除多余区域的单元格格式后文件尺寸仍没有减下来,就应该考虑是不是有效性设置原因引起
解决办法:选择多余的单元格区域,数据-有效性,在“设置”、“输入信息”、“出错警告”、“输入法”页面分别执行“全部清除”
四、公式复杂,公式很长
由于单元格公式复杂,公式太长,造成文件增大解决方法:针对大量重复使用的公式(包括相对引用的公式),用定义名称的方法简化下例中原文件用VLOOKUP公式文件189K,用定义名称后文件减小到117K
点击浏览该文件
这种方法给文件减肥效果有时是很明显的,我曾将一个近3M的文件减到700多K
五、EXCEL本身的BUG所致
参lhome/dispbbs.asp?BoardID=2&ID=62001
形成原因:在一个工作表中,选取全部单元格,行隐藏,在名称框中输入32768行以后任一行的单元格地址(如A32800),设置一个固定行高(如20),再选取全部单元格,最适合的行高,进度条开始显示,等到进度条消失,保存工作薄,文件大小1.42M,这个工作表无论用什么清除格式的办法(无论是清除格式、清除全部、单元格全部删除、用其他工作表覆盖)都不能缩小,怀疑为EXCEL之BUG,在EXCEL2000包括EXCEL 2003中都存在该问题
解决办法:选择整个工作表,格式-行-行高,随便设一个行高,保存。此时文件恢复为正常大小示例
点击浏览该文件
再补充两条
六、工作表背景造成的文件增大
因以较大的图片作为工作表的背景,使文件增大
解决办法:除非特别需要,不要用工作表背景,如果确实需要,作为背景的图片要尽可能的小。
七、工作表中插入的图片格式影响文件的大小
工作表插入的图片是BMP格式或从绘图软件中直接复制图片粘帖到工作表中
解决办法:把BMP文件转换为JPG格式,并尽量在绘图软件中将图片调整到在EXCEL中实际显示的大小,再插入工作表,不要直接粘帖图片到工作表中
另外两种解决方法:
1。打开*.xls文件,另存一下,容量会变小一些..
2。先为工作簿做一个备份!
打开工作簿----文件----另存为网页----勾选"整个工作簿"----保存----然后退出工作簿.
无法打开文件然后打开excel程序----文件----打开----打开开始保存的HTML文件----文件----另存为----把它保存为一个普通的工作簿----ok !
发布评论