excel宏:删除包含1个或多个空白单元格的行并向上移动数据

时间:2017-12-11 17:10:30

标签: excel vba excel-vba

我正在尝试删除包含至少一个或多个空白单元格的行条目,并将系列向上移动x#部分填充的行。我还想只删除指定列数的行中的数据。

我试过了:

Sub DeleteBlankRows()
With Worksheets("CSV_data")
    .UsedRange.Cells.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End With
End Sub

但是,我遇到重叠值的错误。感谢。

1 个答案:

答案 0 :(得分:0)

如果SpecialCells(xlCellTypeBlanks)范围为Nothing,则您无法对其执行任何操作,因此在尝试.Delete操作时会出现错误。因此,您可以尝试将其分配到范围,在出现错误时恢复并检查范围是否为空。像这样:

Option Explicit

Sub DeleteBlankRows()

    Dim checkRange As Range

    With Worksheets("CSV_data")

        On Error Resume Next
        Set checkRange = .UsedRange.Cells.SpecialCells(xlCellTypeBlanks)
        On Error GoTo 0
        If Not checkRange Is Nothing Then
            checkRange.Delete Shift:=xlUp
        End If
    End With
End Sub