问题分析:当您收到一个Excel文件,发现文件差不多10M,但其实Excel表格里面没多少数据,后来发现原来是多了很多没用的单元格所造成,这里面涉及到两个概念:“Excel 最后的单元格”和“Excel实际的最后的单元格”,当您按键盘的“Ctrl+ End”, 它将会定位到最后有值的单元格后一个单元格,又或者是在远远在有值的单元格的后面,多余的单元格就是在有真值的单元格跟“Ctrl+End”定位到最后的单元格的位置之间,越多就代表Excel占用越多没用的空间,这就是文件变大的原因

注意:可以通过Excel的滚动条判断

更加详细的分析:http://bbs.51cto.com/thread-882482-1.html

解决方法:
方法一:手动删除多余的单元格

1、找到有数据后的第一个单元格

2、按键盘:Ctrl+Shift+End 选中后面所有的空格,

3、按键盘:Ctrl+ -(减号)

4、最后在弹出的删除对话框选择整行,确实即可

5、保存并退出文件,查看文件的大小就会缩小了

方法二:使用以下的VBA Macro
----------------------------------------------------------
Option Explicit
Sub SHRINK_EXCEL_FILE_SIZE()
    Dim WSheet As Worksheet
    Dim CSheet As String 'New Worksheet
    Dim OSheet As String 'Old WorkSheet
    Dim Col As Long
    Dim ECol As Long 'Last Column
    Dim lRow As Long
    Dim BRow As Long 'Last Row
    Dim Pic As Object
   
    For Each WSheet In Worksheets
        WSheet.Activate
         'Put the sheets in a variable to make it easy to go back and forth
        CSheet = WSheet.Name
         'Rename the sheet to its name with _Delete at the end
        OSheet = CSheet & "_Delete"
        WSheet.Name = OSheet
         'Add a new sheet and call it the original sheets name
        Sheets.Add
        ActiveSheet.Name = CSheet
        Sheets(OSheet).Activate
         'Find the bottom cell of data on each column and find the further row
        For Col = 1 To Columns.Count 'Find the actual last bottom row
            If Cells(Rows.Count, Col).End(xlUp).Row > BRow Then
                BRow = Cells(Rows.Count, Col).End(xlUp).Row
            End If
        Next
       
         'Find the end cell of data on each row that has data and find the furthest one
        For lRow = 1 To BRow 'Find the actual last right column
            If Cells(lRow, Columns.Count).End(xlToLeft).Column > ECol Then
                ECol = Cells(lRow, Columns.Count).End(xlToLeft).Column
            End If
        Next
       
         'Copy the REAL set of data
        Range(Cells(1, 1), Cells(BRow, ECol)).Copy
        Sheets(CSheet).Activate
         'Paste Every Thing
        Range("A1").PasteSpecial xlPasteAll
         'Paste Column Widths
        Range("A1").PasteSpecial xlPasteColumnWidths
        Sheets(OSheet).Activate
        For Each Pic In ActiveSheet.Pictures
            Pic.Copy
            Sheets(CSheet).Paste
            Sheets(CSheet).Pictures(Pic.Index).Top = Pic.Top
            Sheets(CSheet).Pictures(Pic.Index).Left = Pic.Left
        Next Pic
        Sheets(CSheet).Activate
       
         'Reset the variable for the next sheet
        BRow = 0
        ECol = 0
    Next WSheet
   
     ' Since, Excel will automatically replace the sheet references for you on your formulas,
     ' the below part puts them back.
     ' This is done with a simple replace, replacing _Delete with nothing
    For Each WSheet In Worksheets
        WSheet.Activate
        Cells.Replace "_Delete", ""
    Next WSheet
   
    'Roll through the sheets and delete the original fat sheets
    For Each WSheet In Worksheets
        If Not Len(Replace(WSheet.Name, "_Delete", "")) = Len(WSheet.Name) Then
            Application.DisplayAlerts = False
            WSheet.Delete
            Application.DisplayAlerts = True
        End If
    Next
End Sub

转载于:https://blog.51cto.com/nearlv/1110659

对Excel进行瘦身的两个方法相关推荐

  1. 用晚餐瘦身是最好的方法

    减肥观念是一日三餐适当的饮食控制,可以让你的身材更趋健康苗条!想减肥,晚餐可是极需重视的环节,晚餐吃什么,该怎么吃? 用晚餐瘦身是最好的方法: 你可能要问,一天有三餐,如果三餐全部都拿来做饮食控制,那 ...

  2. App 瘦身的七种方法

    极力推荐文章:欢迎收藏 Android 干货分享  和您一起终身学习,这里是程序员Android 一个APP的包之所以大,主要包括以下文件 代码 lib so本地库 资源文件(图片,音频,字体等) 瘦 ...

  3. 精简瘦身Windows XP的方法

    Windows XP系统中包含许多对于普通用户用不上的功能,我们完全可以对XP来一次瘦身. 1.在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了.删除系统备份文件吧:开始→运行→sfc.e ...

  4. Windows7 C盘瘦身最有效的方法

    网上好多文章讲怎么给系统分区瘦身:清除垃圾,删除不需要的系统文件(如帮助文件)等等,但是这些其实占用不了多少空间的,有些东西删除了对系统正常运行也会有影响. 在此总结几个最有效的方法,能省下来几个G. ...

  5. 服务器里文件表格如何自动备份,Excel电子表格自动备份的两种方法

    对于数据量大.数据重要性高的EXCEL文件,如果出现任何意外导致数据遭受损坏,那么,将是一件严重的问题. 平时我们在操作EXCEL时,应该养成良好的习惯,即让EXCEL自动备份,以防不测. 以下是两种 ...

  6. 设置Excel表格“只读模式”的两种方法

    Excel表格的"只读模式"可以帮助我们防止意外更改表格,根据不同需求,表格可以设置"有密码"和"无密码"的两种"只读模式&quo ...

  7. 计算机桌面清理用于什么,C盘哪些文件可以删除?电脑C盘满了清理瘦身技巧

    原标题:C盘哪些文件可以删除?电脑C盘满了清理瘦身技巧 一般来说,C盘通常是电脑系统盘,而要保持Windows系统的流畅性,系统盘必须保持较为充足的存储空间,否则后导致系统异常卡顿,甚至是奔溃.不过, ...

  8. MSYS2 瘦身小攻略

    MSYS2, 吃硬盘的大神 MSYS2,集成了 x86 x64两个开发环境,且可以使用 pacman 进行包管理,可谓方便的很!可是,这个东东也有一个很不好的地方,就是实在太占硬盘.尽管下载的软件包一 ...

  9. 深入探索 Android 包瘦身(上)

    码个蛋(codeegg) 第 942 次推文 作者:jsonchao 链接:https://juejin.im/post/5e7ad1c0e51d450edc0cf053 今天分享一篇匠心制作的< ...

  10. iOS安装包瘦身的那些事儿

    在我们提交安装包到App Store的时候,如果安装包过大,有可能会收到类似如下内容的一封邮件: 收到这封邮件的时候,意味着安装包在App Store上下载的时候,有的设备下载的安装包大小会超过100 ...

最新文章

  1. YOLO-6D论文的一些相关知识
  2. strcmp函数和strcpy函数
  3. linux桌面天气,Ubuntu桌面美化:添加Gmail +天气预报插件[图文]
  4. oracle-sql汇总
  5. MacroMedia FreeHand中文版
  6. mysql 5.1.60.tar.gz_linux下安装mysql-5.1.51.tar.gz
  7. app信息:PackageInfo+ApplicationInfo+ActivityInfo/ServiceInfo/ProviderInfo+PermissionInfo+...
  8. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串
  9. BZOJ 2956 模积和
  10. unicode编码对照表
  11. 如何申请免费163邮箱?如何申请163邮箱账号?
  12. JZOJ5465. 【NOIP2017提高A组冲刺11.9】道路重建
  13. 什么软件可以测试宝宝身高体重,如何测试宝宝身高体重
  14. win7局域网计算机 慢,Win7系统局域网访问文件速度缓慢怎么办
  15. python 用pandas读取excel并画图
  16. 郭卓惺:互动课堂的搭建实例及相关领域应用 1
  17. think php 后门,看我如何调查放置后门之Thinkphp
  18. JZOJ 2018.07.15【2018提高组】模拟C组
  19. 在Winform(C++/CLR)平台设计的(本地在线)音乐播放器(基于WMP(Windows Media Player)控件实现)
  20. OpenCV安装成功,但是无法导入 cv2 的指定模块 -- Ubuntu Anaconda 环境一键安装 opencv

热门文章

  1. 终身学习C++__小胡亲测
  2. 谷歌身份验证器电脑版 Google Authenticator下载+使用教程
  3. 怎样合并磁盘分区?看这里~
  4. 【整理】童鞋尺码大全--方便查找对照
  5. 新浪短连接(t.cn)在线生成工具
  6. kali linux国内源
  7. 科研笔记(六) 基于环境感知的室内路径规划方法
  8. AR/VR软件与硬件技术
  9. linux开发者的一天
  10. java 解析dojo_Dojo入门三种HelloWorld!