Excel工作簿减肥--删除无用的对象 (亲自实践)

提供两种VBA宏程序,用于批量删除Excel工作簿中的所有插入对象,如图片、形状等,以减少文件体积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文的宏程序,来自伟大的"ExcelHome"网站(http://club.excelhome.net/forum.php),

我这里只是根据其提供的程序,追加注释以及自己的理解

 

工作簿中有可能之前插入了很多插入对象,比如图片,形状,折线图等等,

当一个工作簿中存在大量无用的插入对象时,文件体积会变得很大,而一个个的选中--删除,又太好费时间.

可以使用以下宏程序,一步删除所有插入对象

'删除所有sheet中的形状
Sub DelAllShapes()
    Dim ws As Worksheet
    Dim sp As Shape
    Dim n As Double
    Dim Content As String
    For Each ws In Worksheets
        For Each sp In ws.Shapes
                sp.Delete
                n = n + 1
        Next
        Content = Content & "工作表" & ws.Name & " 删除了" & n & " 个对象" & vbCrLf
        n = 0
    Next
    MsgBox Content
End Sub

或者

'删除当前sheet中的形状
Sub DelShapes()
    Dim sp As Shape, n
    For Each sp In ActiveSheet.Shapes

            sp.Delete
            n = n + 1

    Next sp
    MsgBox "共删除了" & n & "个对象"
End Sub

 

补充:

其实我们也可以用"定位"来一次性选中当前sheet的所有对象.

快捷键F5,点击"定位条件"按钮,在弹出的窗口中,选中"对象",然后确定

此时,当前sheet中所有对象就都被选中了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值