【问题标题】:Delete a row in excel if all cells are blank in a range of columns如果某列范围内的所有单元格均为空白,则删除 Excel 中的一行
【发布时间】: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 列的特定数字并删除该行如果匹配吗?

标签: excel vba


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-04-15
    • 1970-01-01
    • 2018-08-09
    • 2022-01-23
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    相关资源
    最近更新 更多