首页 > 解决方案 > 如果某列范围内的所有单元格均为空白,则删除 Excel 中的一行

问题描述

我一直在四处寻找这个问题的答案。我找到了多个很棒的资源,这些资源展示了如果指定列中的单元格为空白,如何使用宏删除行,但我找不到任何可以让您检查一系列列并删除如果该列范围内的所有单元格为空(如果 D1:F1 完全为空白,则删除第 1 行,但如果在 D2:F2 E2 范围内有数据,则不要删除该行)。

这是我一直试图弄乱的代码

Application.ScreenUpdating = False
Columns("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True

我从这个答案Excel VBA 中找到了上面的代码:如果 A 列中的单元格为空白,则删除整行(长数据集)

如果我尝试修改该代码以说

Columns("D:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

然后我收到一条错误消息,上面写着“运行时错误 1004:无法在重叠部分上使用该命令”。

标签: excelvba

解决方案


你必须做一个 bucle 来循环遍历列,因为如果你在同一行的多个列中有空白单元格,它就不起作用。


推荐阅读