📅  最后修改于: 2023-12-03 15:30:39.984000             🧑  作者: Mango
在使用Excel时,我们常常遇到需要删除空行的情况。手动删除空行会很费时费力,不如编写VBA程序来完成此任务。下面介绍一种简单的VBA删除空行的方法。
利用Excel的自动筛选功能,将空行筛选出来,再一行一行地删除。
Sub DeleteBlankRows()
Dim lastRow As Long
Dim i As Long
Dim j As Long
lastRow = Range("A1").SpecialCells(xlLastCell).Row ' 获取表格最后一行
For i = lastRow To 1 Step -1 ' 倒序遍历每一行
If WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete Shift:=xlUp ' 如果该行所有单元格为空,则删除该行
End If
Next i
End Sub
lastRow = Range("A1").SpecialCells(xlLastCell).Row
该语句是利用Range
对象的SpecialCells
方法找到最后一个非空单元格,并返回该单元格所在行的行号。For i = lastRow To 1 Step -1 ' 倒序遍历每一行
If WorksheetFunction.CountA(Rows(i)) = 0 Then
该语句中,CountA
函数用于计算该行中非空单元格的数量。如果该行中所有单元格都为空,则其返回值为0,即该行为空行。Rows(i).Delete Shift:=xlUp
该语句中的Shift
参数用于指定删除后如何调整表格的位置,xlUp
表示将删除的行向上移动,等效于手动删除一行时按下Shift
键。使用上述方法可以快速删除Excel表格中的空行,提高工作效率。如果需要删除某些特定的行,如指定某一列为空时删除该行,则需要做一些修改。