excelmacros:删除具有一个或多个空白单元格的行并向上移动数据

我试图删除至less有一个或多个空白单元格的行条目,并将部分填充行的x#序列。 我也只想删除指定列数的行中的数据。

我试过了:

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

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

如果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