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

如何遍历Excel中名称以TableIR为前缀的所有表格?

优化VBA代码:批量处理以TableIR开头的表格

把你重复的代码改成循环批量处理就行,直接遍历工作簿里的所有表格,只挑名字以TableIR开头的执行操作,以后新增表格完全不用手动加代码:

Dim tbl As ListObject
Dim ws As Worksheet

' 遍历当前工作簿的所有工作表
For Each ws In ThisWorkbook.Worksheets
    ' 遍历工作表中的所有表格对象
    For Each tbl In ws.ListObjects
        ' 判断表格名称前缀是否为TableIR
        If Left(tbl.Name, 7) = "TableIR" Then
            ' 通过表格列名直接定位数据区域,不用硬编码Range
            tbl.ListColumns("Deductions in Month").DataBodyRange.Copy
            tbl.ListColumns("Previous Deductions").DataBodyRange.PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlAdd
        End If
    Next tbl
Next ws

' 清除剪贴板,避免残留复制状态
Application.CutCopyMode = False

几个关键说明:

  • 用ListObject(Excel表格对象)操作比直接写Range更稳定,就算表格移动位置、调整大小也不会出错
  • 双层循环自动扫遍所有工作表里的表格,不用手动枚举每个表格名称
  • 最后加Application.CutCopyMode = False是为了清除Excel的剪贴板状态,避免一直显示“复制完成”的提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:10:16