0

一般来说,我是宏和脚本的新手。

如果第 3、4 和 5 列为空,我想删除该行。

Sub DeleteRows()
Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

适用于案例只是第 3 行的情况,但我尝试了各种方法使其按预期工作;它们都会导致某种错误。

那么,我该怎么做呢?

4

1 回答 1

1

尝试这个:

Sub DeleteRows()
For i = 3 to 5
    Columns(i).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next

唯一的问题是,如果没有空白单元格,它将返回一个错误。另一种方法是检查 EntireRow.Delete 之前是否有空白单元格。

以下是您的操作方法:

Sub DeleteRows()
Dim rngBlanks as Range
Dim i as Integer
For i = 3 to 5
    On Error Resume Next
    Set rngBlanks = Columns(i).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    If Not rngBlanks is nothing then
        rngBlanks.EntireRow.Delete
    End if
Next

让我知道这是否有效,如果您需要更多解释!

于 2013-07-22T15:06:37.550 回答