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

如何修改VBA宏实现遍历所有工作表调整图片尺寸?

修改VBA宏以遍历工作簿所有工作表修改图片尺寸

只需要在外层添加一个遍历工作簿所有工作表的循环,同时把操作对象从固定的ActiveSheet换成循环中的工作表对象即可。修改后的完整代码如下:

Option Explicit
Sub ChangeAllPics()
    Dim s As Shape
    Dim ws As Worksheet
    
    ' 遍历工作簿中的每一个工作表
    For Each ws In ThisWorkbook.Worksheets
        ' 遍历当前工作表中的所有形状(包括图片)
        For Each s In ws.Shapes
            s.LockAspectRatio = msoFalse
            s.Width = 65
            s.Height = 65
        Next s
    Next ws
End Sub

关键修改点

  • 移除了原代码中Set ws = ActiveSheet的固定赋值,改用For Each ws In ThisWorkbook.Worksheets循环遍历所有工作表
  • 将内层循环的ActiveSheet.Shapes替换为ws.Shapes,确保每次操作的是当前循环到的工作表,而非固定的活动工作表
  • 新增Next ws闭合外层的工作表遍历循环

内容的提问来源于stack exchange,提问作者Arsham Gharbi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:58:11