使用场景:
之前文章描述的批量删除图形的方法,虽然高效,但是不够灵活,有时候我们需要删除固定区域或选定区域的图形或图片,因此需要重新使用一种方法实现这两个功能。
方法描述
划定区域,对比图形或图片是否在这个区域范围内,当在这个范围内时将其删除即可。
代码:
Sub 删除固定区域图形()
DelPicByRng [S3:U100] '删除S3到U100区域内的图片 其他区域不受影响
End Sub
Sub 删除选定区域图形()
DelPicByRng Selection '删除选定区域的图片 其他区域不受影响
End Sub
Sub DelPicByRng(rng As Range)
'删除指定单元格区域内的图片
Dim i As Integer, shps
Set shps = rng.Worksheet.Shapes
For i = shps.Count To 1 Step -1 '倒序循环图片
If Not Intersect(shps(i).TopLeftCell, rng) Is Nothing Then '检测到图片位置与选定区域重叠则删除
shps(i).Delete
End If
Next i
End Sub
添加控制按钮:
1、添加图形;
2、右键→指定宏
3、确认后即可