excel表格文件属性太大了,怎样能变小点

2024-11-25 21:12:04
推荐回答(5个)
回答1:

一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。
可能的原因:
(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,
(2)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象
(3)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为0或很小的值,通过复制产生了大量的对象
(4)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到
(5)工作表中的对象设置了不可见属性(Visible=false)或对象的线条和填充色均设为与底色相同,使对象无法看到

判断方法:
(1)编辑→定位(快捷键:F5或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

五、工作表背景造成的文件增大
因以较大的图片作为工作表的背景,使文件增大
解决办法:除非特别需要,不要用工作表背景,如果确实需要,作为背景的图片要尽可能的小。

六、工作表中插入的图片格式影响文件的大小
工作表插入的图片是BMP格式或从绘图软件中直接复制图片粘帖到工作表中
解决办法:把BMP文件转换为JPG格式,并尽量在绘图软件中将图片调整到在EXCEL中实际显示的大小,再插入工作表,不要直接粘帖图片到工作表中。

回答2:

'此代码用于解决EXCEl文件过大的问题。通过“清除”命令清除没有使用的单元格中被设置的格式等。
'将此代码COPY在工作薄的模块内,根据自己文档中各表实际使用的最大范围修改清除范围的设定后运行就OK。
'我是通过将工作薄中的表逐个地移动到空工作薄中,然后保存原表再检查文件大小变化情况,最终找出导致文件变大的那个表进行清除多余内容。
'用这工具将34M的一个工作薄清理到2.5M。
'使用前一定要在备份上运行,确定你要清除的范围是正确的。
'哪位有兴趣了给做个对话框,免得用错害了大家!

Sub 清除EXCEL多余文件()
For Each SH In Sheets
SH.Select
Rows("2001:65536").Select '代码中的范围是将要清除的整行行标。
'Columns("AA:BA").Select '这里可同时加入对列的清理,但建议不要作,如果触动了未激活的列,反而会增大文件。
Selection.Clear
Next
End Sub

特别说明一下,此操作要进入VBA窗口中,对于VBA不熟的那你就自己录个宏,然后在宏自己建的模块中粘贴运行就行了,运行前要将光标移至这段代码内。

回答3:

赞同一楼的 属性没有大小 不解

回答4:

属性有大小吗,不解

回答5:

压缩打包