3、新建模塊后,輸入 Sub 刪除空行() Dim a a = 1 Do While Cells(a, "a") <> "" If Cells(a, "D") = "" Then Rows(a).Select Selection.Delete Shift:=xlUp Else a = a + 1 End If Loop End Sub。
Sub DeleteEmptyRows() Dim LastRow As Long Dim r As Long LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count Application.ScreenUpdating = False For r = LastRow To 1 Step -1 If Application.WorksheetFunction.CountA(Rows(r)) = 0 _ Then Rows(r).Delete Next r Application.ScreenUpdating = True End Sub
Sub DeleteEmptyColumns() Dim LastColumn As Long Dim r As Long LastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count Application.ScreenUpdating = False For r = LastColumn To 1 Step -1 If Application.WorksheetFunction.CountA(Columns(r)) = 0 _ Then Columns(r).Delete Next r Application.ScreenUpdating = True End Sub
把下列代碼復(fù)制過去,運(yùn)行一下就行了,此代碼是基于Sheet1的A列中的單元格為空時刪除行的,而且只考慮20行,多的話,可以將20改大一些,除非你真的有幾萬行的數(shù)據(jù),否則不要在整列中做循環(huán),會影響系統(tǒng)運(yùn)行的。 還想更自動的話,可以把此代碼放在工作簿打開事件、關(guān)閉事件,或工作表事件中去。 Sub DelBlank() For i = 20 To 1 Step = -1 If Sheet1.Cells(i, 1) = "" Then Rows(i).Delete End If Next i End Sub