You need to enable JavaScript to run this app. Excel VBA 如何删除动态大小工作表中D列含'CHF'的行
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA 如何删除动态大小工作表中D列含'CHF'的行

适配动态数据范围的D列CHF行删除方案

无代码长期重复使用方案(Power Query,每周10秒完成)

  • 选中当前数据区域的任意单元格,依次点击「数据」选项卡 →「从表格/区域」,弹窗中根据表格是否有表头勾选「我的表格有标题」后确认,Power Query会自动识别当前所有连续有效数据,无需手动固定范围
  • 在Power Query编辑器中找到D列对应的列,点击列头筛选箭头 →「文本筛选器」→「不包含」
  • 输入匹配条件CHF,确认后编辑器将自动过滤掉所有D列含CHF的行
  • 点击「开始」选项卡 →「关闭并上载」,可选择将处理后的数据上载到新工作表
  • 后续每周更新原始数据后,仅需右键已上载的处理结果表 →「刷新」,即可自动适配新的行数/列数,重复执行过滤逻辑

临时单次处理方案

  • 点击D列列头选中整列,Excel会自动识别D列所有有效数据范围
  • 按快捷键Ctrl+F调出查找弹窗,查找内容输入CHF,点击「查找全部」
  • 按Ctrl+A全选所有匹配结果,关闭查找弹窗
  • 右键任意选中的行号 →「删除」,即可一次性删除所有对应行

VBA自定义脚本方案(可绑定按钮重复调用)

  • 按Alt+F11打开VBA编辑器,双击左侧对应目标工作表,粘贴以下代码:
Sub 删除D列含CHF的行()
    Dim lastRow As Long, i As Long
    ' 自动获取D列最后一个有效行号,适配每周变动的范围
    lastRow = Cells(Rows.Count, "D").End(xlUp).Row
    ' 从最后一行向上遍历,避免删除行导致行号错位遗漏
    For i = lastRow To 1 Step -1
        ' 匹配单元格包含CHF的情况,默认不区分大小写(如需区分可将vbTextCompare改为vbBinaryCompare)
        If InStr(1, Cells(i, "D").Value, "CHF", vbTextCompare) > 0 Then
            Rows(i).Delete
        End If
    Next i
End Sub
  • 按F5运行脚本即可自动完成处理,后续可将该宏绑定到工作表按钮,点击直接执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 10:15:03