有人知道怎么变小吗 怎么让excel文件变小

经验直达:

  • 怎么让excel文件变小
  • 有人知道怎么变小吗

一、怎么让excel文件变小


我很少用excel ,所以对此不了解 。这是我在网上找到的,希望对你有帮助 。

[分享]EXCEL文件肥胖的的原因分析及减肥
很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象 , 有时甚至造成文件损坏,无法打开的情况 , 以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:
一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因 。
可能的原因:
(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 = n1
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中实际显示的大?。俨迦牍ぷ鞅?,不要直接粘帖图片到工作表中


二、有人知道怎么变小吗


【有人知道怎么变小吗 怎么让excel文件变小】如何给Excel工作簿减肥
除了工作簿本身有宏病毒(关于如何识别宏病毒,本文的结束处有说明)外,有下列的几个原因可能导致工作簿异常膨胀
一 。工作表中的格式过于复杂(如多种字体,多种颜色,条件格式等等)
我们都知道,一个工作表有65536*256个单元格,这个非常大的一个范围 。我们在应用一些格式设置时 , 往往为了方便,直接在整行,或整列,或者在多行和多列中应用,这样其实是不妥当的 。我相信很少有人会用满整列,或者整行 。大量的没有用到的单元格被加上了一些格式后,Excel并不总是知道这个单元格是不需要用的 , 而往往在计算时会包括这些单元格 。另外,格式的多样性(包括字体,颜色等),势必是要造成Excel文件体积变大,这是不难理解的 。
用尽量少的格式样式,如字体和颜色,毕竟Excel的优势不是在于文书,版面的展示(那是Word , PowerPoint等的强项)
删除“空白”的单元格 。找到工作表中最右下角的单元格(请注意:除非你有自信,请不要过分依赖Excel 的"定位"=>"最后一个单元格"所给你的结果),我是说你可以手工找到这个单元格 。然后选中这个单元格右边所有的列,然后执行菜单命令:"编辑"=〉"清除"=〉"全部",接下来,选中这个单元格下面所有的行,同样执行菜单命令:"编辑"=〉"清除"=〉"全部",然后保存
二 。图片或者其他绘图图形较多,或者图片选择了不恰当的格式
选择适当的图片格式 在文档中引用的图片格式一般有三种,BMP、JPG、GIF 。BMP格式保存的图片保真度较高,但大小往往是其它两种格式的几倍至几十倍,而照片、扫描图片等用GIF格式保存则失真非常严重,因此建议图片先采用JPG格式保存 , 然后再引入到文档中,这种格式的图片大小不仅比BMP格式小很多,而且往往也比GIF的格式?。U娑扔隑MP格式则相差无几 。
利用“插入”引入图片
插入图片有两种方法,第一种是将图片保存为一个JPG格式的文件 , 选择“插入→图片→来自文件”,打开“插入图片”对话框,选中所需插入的图片文件 , 点击“插入”即可 。另一种是用“画图”、“Microsoft照片编辑器”等打开这个JPG文件,选中并复制,然后在文档中点击“粘贴”即可插入 。强烈建议大家采用第一种方法 , 虽然两种方法得到的图片质量是一样的,但第一种方法所形成的文档的大小可能会比第二种小几十倍!
彻底清除图形对象:例如我们自己画的一些图形,比如你现在不要用它们了,你选择行或者列范围删除,清除都是清除不掉了,他们只是可能缩小了 。这个时候,就可以用到本版"流浪的风"提到过的一个方法
1.先找到其中的一个文本框(找不到就自己添加一个)
2.选中这个文本框,按F5--->定位条件--->对象-->确定
3.按Delete清除
4.保存关闭
5.看看现在文件有多大,打开看看速度还慢不慢
三 。公式和名称较多或者公式,名称,数据透视表等所引用的单元格范围过大
由于和第二点类似的原因,我们在定义名称,编写公式,指定数据透视表的数据源时往往图一时方便 , 而指定了过大的单元格范围 。例如在A列中有包括标题在内的10个数据(A1:A10),标题为“姓名”,我们现在要定义一个名称,例如"姓名",很多人会用 插入=〉名称=〉指定=〉首行 , 这当然是方便的,但这样的话“姓名”这个名称就引用了A2:A65536,而不是实际的A2:A10.你能想象到两者的差别吗?
这时候 , 有的朋友要说:我这样做的原因是因为我的数据是在不断增加的呀,我可不想每次在变动的时候都去改这个名称 。
当然,你是对的,谁会愿意这样做呢?
当我确信我定义的这个名称所引用的范围不可能是固定的时候,我采用了一个方法就是“动态命名” 。听起来有点耳熟对吗?请看这个例子:为简单起见 , 我们假设数据都是连续地在A10后面开始添加,也就是说我们希望当我们添加到A15时 , 这个"姓名"就如我所愿地指向A2:A15,而这一切都是自动完成的 。那么你可以在"插入"=〉"名称"=>"定义"对话框中,找到"姓名",然后修改引用位置为=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1) , 然后点击"添加" 。请留步,先不要急着关闭这个对话框 。你现在可以将鼠标放在"引用位置"的这个框里面,由此来验证你要的结果 。看到了吗?工作表中那一闪一闪的区域就表示了目前"姓名"所引用的单元格范围 。
这只是一个简单的示范,利用这种技巧 , 可能让我们用最经济的方式得到我们需要的结果 。
在公式引用中,在指定数据透视表的数据源时,都可以运用类似的技巧 。当然 , 我不会推荐你写类似这样的公式=CountA(OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)),而是推荐你先定义好这个名称 , 然后这样写公式:=CountA(姓名)
这种效果在数组公式中更明显,除非你有足够的耐心和勇气,请不要在数组公式用引用过大的单元格范围,特别是那些不必要的单元格 。
请注意,以上的检查应该是针对工作簿中的所有工作表,包括隐藏的
四 。VBA代码,尤其是用户窗体的影响
现在很多朋友都已经学会了用VBE来构建自己的工程,这是多么令人振奋的一件事!但今天我们要讨论的是如何处理VBA工程可能带来一些副作用以及如何压缩它?
有很多测试证明,用户窗体会是增加文件大小的比较突出的原因之一 。而反复地改写工程中模块的代码,也或多或少地会增加文件的大?。ㄎ颐强梢哉庋斫猓悍锤吹馗男垂こ檀?,总是会留下一些痕迹和碎片)
对于这个问题,可以考虑将所有模块,窗体,都导出为文件 , 然后保存,然后再依次导入 。
关于用户窗体 , 作为开发者应该考虑的是:是否真的有必要用某个窗体?举个简单的例子,如果只是接收用户输入数值,就完全可以用InputBox方法或者属性,而不需专门用一个窗体 。同时,工作表本身可以用来做用户交互的界面,应该充分利用 。
五 。外部链接(特别是死链接)的影响
有的时候,我们的工作簿中可能包含了一些外部引用 , 这样我们可以共享其他工作簿的一些信息 。如果你的工作簿中包含外部链接,你可以通过"编辑"=>"链接"对话框中查看到 。默认情况下,文件在打开时,总是尝试去链接源文件 , 以刷新数据 。在保存时,会纪录链接的变化情况 。
当源文件的位置或者内容发生变化时,就可能产生死链接 。
我个人非常不主张用链接方式来实现不同文件间数据的共享,这既不是最方便的方法 , 而且在文件分发过程中会遇到一些问题 。我当然知道数据共享是有意义的,但我经常会尝试用其他的途径来实现 。
六 。关于自动保存选项的考量
选中这个选项时,每次进行保存文档的操作则只保存文档的修改部分,保存速度较快,但文档的大小也会增加 , 即使是对文档进行删减操作也是如此 。目前计算机的速度较快,因此开启这项功能所带来速度的增加毫不明显,但付出的代价是文档的大小急剧膨胀,建议不要选中这个选项 。试着关闭这个选项,再对文档稍作修改,然后保存,你会惊奇地发现文档的大小会大幅度缩小!
七 。文件异常退出(或者其他不可预见的原因)造成的工作簿内工作表结构方面的损坏
有时候,由于一些不可预见的原因(例如停电),Excel被迫异常退出 。虽然目前没有专门的工具可以检测这种情况对工作簿内部可能造成的损坏程度 , 但是有理由相信多少是有影响的 。
如果你的文件中不存在前面提到的几个问题,同时你还是确信文件体积不正常 , 你可以尝试如下的方法
新建一个工作簿,把现有文件中的工作表一一剪切到新的工作簿中 。请注意这里用的是“剪切”方法,不是“移动或复制工作表”,也不是“复制” 。没错,就是先选中工作表中的内容,然后“剪切”,光标移动到目标工作表 , 然后“粘贴” 。这样做唯一不足的地方就是,目标工作表的行和列格式可能要稍微调整一下 。
--------------------------------------------------------------------------------
60M的文件 里面数据该有多少啊 估计这个减肥工程也够累的~~~~~以上方法我也没实践过 不知道效果呢

相关经验推荐