VBA删除所有对象和如何仅仅只删除所有图片

往往Excel表格中会有很多图形,线条,图片等,如果对象较多的话,会导致表格的运行速度变慢和占用的空间变大。

那我们如何快速地删除表格中的所有对象呢?

方法一:

ActiveSheet.DrawingObjects.Delete

方法二:

Sub DeleteAll()
    Dim shp As object
    For Each shp In ActiveSheet.Shapes
            shp.Delete
    Next
End Sub

另外,如果仅仅只是删除表格中的所有图片,而保留其它对象呢?

方法一:

Dim pic As Shape
For Each pic In ActiveSheet.Shapes
If InStr(1, pic.Name, "Picture") > 0 Then pic.Delete
Next

方法二:

Dim pic As Shape
For Each pic In ActiveSheet.Shapes
If pic.Type = 13 Then pic.Delete
Next

第一种方法是通过名称中包含的特定字符去删除对应的对象。
   第二种方法是通过对象的类型来删除对应的对象

附上删除的图形类型见下表:

   

图形类型

可以对号入座来删除不同的对象。

(0)

相关推荐