VBA删除所有形状错误

时间:2016-02-25 16:34:59

标签: excel vba excel-vba

我注意到我的工作表正在减速,并且发现由于某种原因创建了一些对象。我运行以下宏来删除所有宏:

Dim Shp as Shape
For Each Shp In Worksheets("Sheet1").Shapes
    Shp.Delete
Next Shp

但是我一直收到The index into the specified collection is out of bounds错误。所以我做了以下工作来查看创建了多少个对象:

Dim i As Long
i = ActiveSheet.Shapes.Count
MsgBox CLng(i)

并且收到了号码41152.我已经尝试了Go To Special并选择了对象,但是如果这个数字是正确的,我的计算机就会崩溃,试图一次选择超过41K的对象。

有关如何删除它们的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以向后退一步aligned_storage集合,将其从集合Shapes中的最后一个值删除到第一个。

像这样:

Index