Excel 2013:删除含特定文本(如NULL)的行且不留空白行
别慌!我完全懂你这种不想被空白行搞砸格式规则的心情,而且不用怕VBA,我给你准备了两种超简单的解决办法,不管你数据量大小都能用~
方法一:不用VBA的快速手动操作(适合数据量较小的场景)
这种方法不用写代码,几步就能搞定:
- 选中你要检查的目标列(比如A列)
- 点击Excel顶部的「数据」选项卡,选择「筛选」按钮
- 点击列标题的下拉箭头,先取消「全选」,再只勾选你要删除的内容(比如
NULL) - 选中所有筛选出来的行(点击行号可以批量选中)
- 右键点击选中的行,选择「删除行」
- 最后再次点击「筛选」取消筛选,这样就不会留下任何空白行啦
方法二:VBA批量处理(适合数据量大的场景)
我已经帮你写好了现成的代码,你只需要复制粘贴、简单修改参数就行:
- 打开你的Excel文件,按下
Alt + F11打开VBA编辑器 - 右键点击左侧的工作簿名称,选择「插入」→「模块」
- 把下面的代码粘贴进去:
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
- 根据你的实际需求,修改代码里的
targetCol和deleteValue参数 - 按下
F5运行代码,或者点击编辑器顶部的运行按钮▶️,就能自动删除所有符合条件的行,且不会留下空白行
内容的提问来源于stack exchange,提问作者mhyvarinen
相关产品推荐
相关产品推荐

