【问题标题】:How to delete a row if certain cells are blank in VBA如果某些单元格在 VBA 中为空白,如何删除一行
【发布时间】:2019-06-16 13:24:45
【问题描述】:

如果某个范围之间的单元格都是空白的,我会尝试删除整行。

例如,对于 B6-H10 范围,如果 B6-H6 中的值为空白,则删除第 6 行。值得注意的是,A 列将填充整个范围。

目前返回如下错误:

'不能在重叠部分使用该命令'

我相信这个错误的发生是由于给定范围内的一个单元格中存在一个值。

目前的代码可以在下面找到:-

  Public Sub DeleteERows()

  Dim rng As Range

  Set rng = Range("B6:H10")

  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Select
  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

  End Sub

任何想法都非常感谢。

【问题讨论】:

标签: excel vba


【解决方案1】:

确实有多种方法,但首先让我向您保证,您真正想做的是avoid .Select

请尝试:

Option Explicit

Sub DelRows()

Dim X As Long
With ThisWorkbook.Sheets("Sheet1") '<-- Your sheetname goes here
    For X = 10 To 6 Step -1
        If Application.WorksheetFunction.CountA(.Range(.Cells(X, 2), .Cells(X, 8))) = 0 Then
            .Rows(X).EntireRow.Delete
        End If
    Next X
End With

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-11
    • 2022-07-05
    • 2019-06-22
    • 2021-08-23
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多