【问题描述】如何批量删除所有工作表里的大量透明方框呢?
同事给了一个仅仅5.8MB的Excel文件,但是打开和操作都异常卡慢,甚至显示“未响应”(图1、图2),经分析,是因为多个工作表里均含有大量透明方框,多则十几万个。如何批量删除图3中以Picture开头的所有透明方框对象(图3)呢?
【小千解答】遍历每一张工作表,遍历每一个对象,若对象名称以Picture开头则删除。单元格批注也属于对象,但是通常都是有用的,需要保留,不能删除。代码如下:
Sub xqoffice() Dim wks As Worksheet Dim i as Long For Each wks In ActiveWorkbook.Worksheets With wks For i = .Shapes.Count To 1 Step -1 If .Shapes(i).Name Like "Picture*" Then .Shapes(i).Delete End If Next i End With Next wks End Sub