如何刪除 Excel 中 autoshape 的圆框?何删除excel表里的对象?
可能发生在复制资料,粘贴在excel后,会出现一堆隐形的圆框。造成Excel文件特别大,运行缓慢卡死。
如图:
通过【查找和选择>定位条件>选择对象】点确定,可以筛选出所有对象,但在筛选出结果之前,excel多半会卡死
怎么办呢?网上找了很多方法,都没实现,最后找到一点代码,通过宏来实现。
步骤:
方式一:Alt + F11,打开VBA窗口,插入模块,代码区域复制以下代码:
方式二:在Sheet1上右键>查看代码,打开打开VBA窗口代码区域复制以下代码:
VBA窗口粘贴代码后如下,按F5运行。鼠标可能会变圆圈,excel可能会显示“无响应”,然后就是等。运行完之后,关了VBA窗口。
再次通过【查找和选择>定位条件>选择对象】点确定,查找对象,会提示“找不到对象”,说明已经删了。保存excel文件,发现比原来小了不少。
代码如下:
Sub ds()
Dim sh As Worksheet, shp As Shape
For Each sh In Sheets
For Each shp In sh.Shapes
If sh.Shapes.Count > 0 Then
If shp.Type <> msoPicture Then
shp.Delete
End If
End If
Next
Next
ThisWorkbook.Save
End Sub