VBA遍历工作表图片形状并排除指定名称对象实现批量隐藏
修改后的完整代码
Sub Total() Dim ws As Worksheet Dim i As Integer Set ws = ActiveSheet For i = 1 To ws.Shapes.Count ' 仅隐藏类型为图片、且名称不为"2"的形状 If ws.Shapes(i).Type = 13 And ws.Shapes(i).Name <> "2" Then ws.Shapes(i).Visible = False End If Next i End Sub
调整说明
- 在原有的图片类型判断基础上,新增了
ws.Shapes(i).Name <> "2"的排除条件,满足要求时才执行隐藏,即可跳过名称为“2”的指定图片 - 补充了循环变量
i的声明,适配开启Option Explicit的场景,避免运行报错 - 也可以把判断条件中的
Type = 13替换为Type = msoPicture,用内置常量代替魔法数字,代码可读性更高,执行效果完全一致
内容的提问来源于stack exchange,提问作者mabdelhady
相关产品推荐
相关产品推荐

