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

请求修改Excel VBA宏以动态删除含Total的整行

动态删除含数字+"Total"字样行的VBA宏

解决方案代码

替换你现有固定匹配的宏,使用Excel通配符实现动态匹配,无需每周手动更新匹配列表:

Sub DeleteTotalRows()
    Dim ws As Worksheet
    Set ws = ActiveSheet ' 可替换为指定工作表,如 ThisWorkbook.Worksheets("你的工作表名")
    
    ' 清除已有筛选状态
    If ws.AutoFilterMode Then ws.AutoFilterMode = False
    
    ' 动态获取C列最后一行数据的范围(避免固定行号限制)
    Dim dataRange As Range
    Set dataRange = ws.Range("C1:C" & ws.Cells(ws.Rows.Count, "C").End(xlUp).Row)
    
    ' 应用筛选:匹配包含数字且后缀为" Total"的内容
    dataRange.AutoFilter Field:=1, Criteria1:="*#* Total", Operator:=xlFilterValues
    
    ' 删除筛选出的可见行(跳过表头行)
    On Error Resume Next ' 处理无匹配行的情况,避免报错
    dataRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    On Error GoTo 0
    
    ' 关闭自动筛选
    ws.AutoFilterMode = False
End Sub

关键改进说明

  • 动态范围适配:不再固定C1:C60,自动识别C列最后一行有数据的行,适配数据量变化
  • 通配符动态匹配:用*#* Total作为筛选条件:
    • *:匹配任意长度的前缀字符
    • #:匹配单个数字(确保内容包含数字)
    • Total:匹配后缀的" Total"(和你示例中的格式一致)
  • 安全删除逻辑:跳过表头行删除,添加错误处理避免无匹配行时程序报错
  • 无需手动更新:每周数据名称变化时,只要格式保持「任意内容+数字+ Total」,就能自动匹配删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:35:24