跳到主要内容

删除空行

我们可以使用工作表函数 CountA 判断工作表中哪些行是空行,再进行删除。

判断是否为空行

以下示例代码判断活动工作表中第 2 行的非空单元格总数是否为0,如果为0,则显示“第二行是空行”。

Sub CheckBlankRow()
    If Application.WorksheetFunction.CountA(Rows(2)) = 0 Then
        MsgBox "第二行是空行"
    End If
End Sub

删除空行

以下示例代码删除当前活动工作表中所有空行。

Sub DeleteBlankRows()
    Dim FirstRow As Long
    Dim LastRow As Long
    Dim i As Long
    '获取数据区域首行的行号
    FirstRow = ActiveSheet.UsedRange.Row
    '获取最后一行的行号
    LastRow = FirstRow + ActiveSheet.UsedRange.Rows.Count - 1
    '从最后一行开始往前遍历
    For i = LastRow To 1 Step -1
        '判断当前行是否为空行
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            '如果是空行则删除
            Rows(i).Delete
        End If
    Next i
End Sub

如果我们知道第一列(即 A 列)始终包含数据,为了获取最后一行的行号,我们还可以使用如下 VBA 代码:

LastRow = Cells(Rows.Count, 1).End(xlUp).Row  '获取最后一行的行号

或者:

LastRow = Range("A" & Rows.Count).End(xlUp).Row '获取最后一行的行号

评论

您的电子邮件地址不会显示出来。*号为必填项。