
Excel用VBA刪除空行和空列
在Excel中刪除空行和空列的方法有很多,下面的方法是用VBA代碼來刪除工作表指定區域中的空行和空列:
Option Explicit
Sub Delete_Empty_Rows()Dim rnArea As RangeDim lnLastRow As Long, i As Long, j As Long
Application.ScreenUpdating = FalselnLastRow = Selection.Rows.CountSet rnArea = Selection
j = 0
For i = lnLastRow To 1 Step -1If Application.CountA(rnArea.Rows(i)) = 0 ThenrnArea.Rows(i).Deletej = j + 1End IfNext i
rnArea.Resize(lnLastRow – j).Select
Application.ScreenUpdating = TrueEnd Sub
Sub Delete_Empty_Columns()Dim lnLastColumn As Long, i As Long, j As LongDim rnArea As Range
Application.ScreenUpdating = FalselnLastColumn = Selection.Columns.CountSet rnArea = Selection
j = 0
For i = lnLastColumn To 1 Step -1If Application.CountA(rnArea.Columns(i)) = 0 ThenrnArea.Columns(i).Deletej = j + 1End IfNext i
rnArea.Resize(, lnLastColumn – j).Select
Application.ScreenUpdating = FalseEnd Sub
在運行代碼前,先選擇需要刪除空行和空列的區域。如果要刪除空行,則運行Delete_Empty_Rows(),指定區域中的空行將被刪除。注意所謂空行是在指定區域中的,如果在指定區域內是空行,而在指定區域外不是空行,那么這些空行還是將會被刪除。刪除空列則運行Delete_Empty_Columns()。

