【发布时间】:2019-06-16 05:24:36
【问题描述】:
我一直在四处寻找这个问题的答案。我找到了多个很棒的资源,这些资源展示了如果指定列中的单元格为空白,如何使用宏删除行,但我找不到任何可以让您检查一系列列并删除如果该列范围内的所有单元格为空,则行(如果 D1:F1 完全为空白,则删除第 1 行,但如果 D2:F2 E2 范围内有数据,则不要删除该行)。
这是我一直试图弄乱的代码
Application.ScreenUpdating = False
Columns("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
我从这个答案Excel VBA: Delete entire row if cell in column A is blank (Long Dataset)找到了上面的代码
如果我尝试修改该代码以说
Columns("D:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
然后我收到一条错误消息,上面写着“运行时错误 1004:无法在重叠部分上使用该命令。”
【问题讨论】:
-
请不要假设我们可以观看您的屏幕。 然后当我尝试运行代码时出现错误 没有帮助。您收到什么错误消息?
-
我编辑了我的问题以包含错误消息“运行时错误 1004:无法在重叠部分使用该命令。”
-
要么使用自动过滤器,要么添加一个帮助列来检查空格的数量(然后可能使用 AF)。
-
所以我在工作表的 G 列中有这个 =COUNTIF(D2:F2,"") 如何修改我的问题中的代码以检查 G 列的特定数字并删除该行如果匹配吗?