怎么快速清除excel文件中所有的图片

62 次阅读

本文最后更新于 2026年5月26日。

在 Excel 中快速清除所有图片,最怕的就是一张一张去点。这里教你两种最快的方法,几秒钟就能搞定,你可以根据自己的习惯选择:

方法一:使用“定位条件”批量删除(最推荐,纯鼠标操作)

这是最直观、不需要写代码的方法:

  1. 选中任意单元格:在包含图片的表格中任意点击一下。

  2. 打开定位条件

    • 快捷键:按下键盘上的 Ctrl + G(或者 F5),会弹出一个“定位”窗口。

    • 点击窗口左下角的 “定位条件” 按钮。

  3. 选择对象:在弹出的列表中,勾选 “对象”,然后点击确定。

  4. 一键删除:此时,当前工作表中的所有图片(以及图表、形状等对象)都会被自动选中。直接按下键盘上的 DeleteBackspace 键,图片就全没了!

⚠️ 注意:这个方法会选中所有的“对象”。如果你表格里有利高科技的“文本框”或“图表”(Chart),它们也会被一起选中。如果不小心删错了,马上按 Ctrl + Z 撤销即可。

方法二:使用 VBA 代码(适合多工作表,或超大型文件)

如果你有很多个工作表(Sheet)都有图片,或者文件太大、方法一卡死,用这段极简代码最稳妥:

  1. 按下 Alt + F11 打开 VBA 编辑器。

  2. 点击顶部菜单的 “插入” -> “模块”

  3. 把下面这段代码复制进去:

VBA删除当前sheet图片

Sub DeleteAllPictures()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.Type = msoPicture Then
            shp.Delete
        End If
    Next shp
End Sub
  1. 按下 F5 键运行代码,当前工作表里的所有图片瞬间就干净了。

删除所有sheets的图片

Sub DeleteAllPicturesInAllSheets()
    Dim ws As Worksheet
    Dim shp As Shape
    Dim count As Long
    count = 0
    
    ' 循环遍历工作簿中的每一个工作表
    For Each ws In ThisWorkbook.Worksheets
        ' 反向循环删除图片,避免漏删
        For i = ws.Shapes.Count To 1 Step -1
            Set shp = ws.Shapes(i)
            ' 只删除图片(保留图表、数据透视表切片器等)
            If shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then
                shp.Delete
                count = count + 1
            End If
        Next i
    Next ws
    
    ' 提示处理结果
    MsgBox "大功告成!一共删除了 " & count & " 张图片。", vbInformation, "完成"
End Sub