You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:15:06