从Excel电子表格中删除一些图片

时间:2018-08-17 13:41:30

标签: excel image excel-vba erase

下面的代码从Excel电子表格中删除所有图片。它运作良好,但我只想删除一些选定的图片,有人可以给我一些制作方法的想法。

我当前拥有的代码是:

Sub ClearPics(): Rem  Erase All
  Sheets("PICTURES").Select
  Dim WS As Shape
  For Each WS In ActiveSheet.Shapes
    WS.Delete
  Next
End Sub

1 个答案:

答案 0 :(得分:2)

关于您的评论“ 我正在谈论的SpreadSheet通常包含约30张图像(图片),但还有两个我不想删除的Bottons,我不知道该如何区分(原文如此) them ”。

您可以检查Shape.Type。另请参见MsoShapeType Enumeration

如果您的按钮是表单控件(msoFormControl)或ActiveXControl(msoOLEControlObject),则可以像这样跳过这些类型。

Sub ClearPics()
    Dim shp As Shape

    For Each shp In Worksheets("PICTURES").Shapes
        If shp.Type <> msoFormControl And shp.Type <> msoOLEControlObject Then
            shp.Delete
        End If
    Next shp
End Sub