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

Excel 2013:删除含特定文本(如NULL)的行且不留空白行

别慌!我完全懂你这种不想被空白行搞砸格式规则的心情,而且不用怕VBA,我给你准备了两种超简单的解决办法,不管你数据量大小都能用~

方法一:不用VBA的快速手动操作(适合数据量较小的场景)

这种方法不用写代码,几步就能搞定:

  • 选中你要检查的目标列(比如A列)
  • 点击Excel顶部的「数据」选项卡,选择「筛选」按钮
  • 点击列标题的下拉箭头,先取消「全选」,再只勾选你要删除的内容(比如NULL)
  • 选中所有筛选出来的行(点击行号可以批量选中)
  • 右键点击选中的行,选择「删除行」
  • 最后再次点击「筛选」取消筛选,这样就不会留下任何空白行啦
方法二:VBA批量处理(适合数据量大的场景)

我已经帮你写好了现成的代码,你只需要复制粘贴、简单修改参数就行:

  1. 打开你的Excel文件,按下 Alt + F11 打开VBA编辑器
  2. 右键点击左侧的工作簿名称,选择「插入」→「模块」
  3. 把下面的代码粘贴进去:
Sub DeleteRowsWithCommentValue()
    Dim targetCol As String
    Dim deleteValue As String
    Dim lastRow As Long
    Dim i As Long
    
    ' 这里修改为你要检查的列(比如A列写"A",B列写"B")
    targetCol = "A"
    ' 这里修改为你要删除的目标内容(比如"NULL")
    deleteValue = "NULL"
    
    ' 获取该列最后一行的行号,避免遍历无效行
    lastRow = Cells(Rows.Count, targetCol).End(xlUp).Row
    
    ' 从下往上遍历删除(从上往下删会导致行号偏移,漏删内容)
    For i = lastRow To 1 Step -1
        If Cells(i, targetCol).Value = deleteValue Then
            Rows(i).Delete
        End If
    Next i
End Sub
  1. 根据你的实际需求,修改代码里的 targetCol 和 deleteValue 参数
  2. 按下 F5 运行代码,或者点击编辑器顶部的运行按钮▶️,就能自动删除所有符合条件的行,且不会留下空白行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:58:51