寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?

在用Office软件Excel时,经常遇到这样一个问题,明明Excel文件中没几行数据,但整个Excel文件大小达数MB,甚至是几十MB大小,Excel打开相当吃力,完全无法操作。有没有办法解决Excel文件内容很少,但文件很大,打开很慢、很卡这一怪象呢?

以前遇到过这样的问题,今天又遇到了,一个就一个小表的Excel文件居然有2.4MB,打开非常缓慢,输入几个字卡得十分严重。好在之前已经有解决方案,废话不多说,直接方法。

在Excel工具栏中依次点开“开发工具”、“查看源代码”,如下图:

Excel开发工具

什么?你的Excel没有这个功能?好吧,功能肯定是有的,只是你没打开而已。自行百度打开方式,或者查看《Excel表格中没有开发者工具?怎么办?》


下面,在开发工具中输入如下代码:

Sub test()
Dim count
Dim pic '图片13
Dim button '按钮8
Dim txtbox '文本框17
Dim comm '批注4
Dim other '其他未知
Dim msg '提示消息
Dim delpic
count = 0
pic = 0
button = 0
txtbox = 0
comm = 0
other = 0
respons = MsgBox("是否要清理表格中的图片,请谨慎操作!" & Chr(10) & _
"点击'是'清理图片,点击'否'跳过!", vbYesNo, "警告")
If respons = vbYes Then
delpic = True
Else
delpic = False
End If
For i = 1 To Sheets.count
For Each tb In Sheets(i).Shapes
If tb.Type = 13 Then
pic = pic + 1
If delpic Then
tb.Delete
End If
ElseIf tb.Type = 8 Then
button = button + 1
tb.Delete
ElseIf tb.Type = 17 Then
txtbox = txtbox + 1
tb.Delete
ElseIf tb.Type = 4 Then
comm = comm + 1
Else
other = other + 1
tb.Delete
End If
Next
'For Each tb In ActiveSheet.Shapes
'tb.Delete
'Next
Next
If delpic Then
count = button + txtbox + pic + other
Else
count = button + txtbox + other
End If
If count > 0 Or comm > 0 Or pic > 0 Then
msg = "共删除了" & count & "个对象;"
If button > 0 Then
msg = msg & Chr(10) & "按钮" & count & "个;"
ElseIf txtbox > 0 Then
msg = msg & Chr(10) & "文本框" & txtbox & "个;"
ElseIf pic > 0 And delpic Then
msg = msg & Chr(10) & "图片" & pic & "个;"
ElseIf other > 0 Then
msg = msg & Chr(10) & "未知对象" & other & "个;"
End If
If comm > 0 Then
msg = msg & Chr(10) & "有" & comm & "个批注没有处理;"
End If
If pic > 0 And Not delpic Then
msg = msg & Chr(10) & "有" & pic & "个图片没有处理;"
End If
Else
msg = "没有找到可以清理的对象!"
End If
MsgBox msg
End Sub

再点运行按钮,如下图:

Excel运行宏


经过漫长的等待后,运行完成,删掉输入的代码,保存Excel,看看是不是Excel文件变小了,同时打开也变快了呢?

经上面的一顿操作,其主要作用是删除Excel文件中的隐藏对象,这些隐藏对象,我们肉眼看不到,但非常多,几十万、上百万个都有可能,导致Excel本身很小但占用很大,计算机处理起来困难,这就非常卡了。形成隐藏对象的原因大多是复制粘贴导致的,具体原因本文不作讨论。

OK,问题得以解决。

Office 2020-02-10 15:46:26 3 0 1606 OfficeExcel

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
PHP实现远程下载,并显示实时下载进度
2020开局不顺
Excel如何批量替换字符串?讲解Excel的字符替换函数SUBSTITUTE
CentOS无法删除文件怎么办
本博客系统开启评论IP黑名单、关键词黑名单功能
超酷绚的Excel点选变色,自动求合功能
开篇第一章
饥饿站台观后感
Win10更新后不显示文字
文章推荐
Win10更新后不显示文字
PHP实现远程下载,并显示实时下载进度
开篇第一章
随机推荐
2020开局不顺
win10切换虚拟桌面
MySQL数据库的concat()函数为什么返回空
Win10更新后不显示文字
本博客系统开启评论IP黑名单、关键词黑名单功能
饥饿站台观后感
PHP实现远程下载,并显示实时下载进度
PHP7报错:Call to undefined function mysql_connect(),如何兼容mysql_connect函数
超酷绚的Excel点选变色,自动求合功能
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
友情连接
春燕网络