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
把下列代碼復制過去,運行一下就行了,此代碼是基于Sheet1的A列中的單元格為空時刪除行的,而且只考慮20行,多的話,可以將20改大一些,除非你真的有幾萬行的數據,否則不要在整列中做循環,會影響系統運行的。 還想更自動的話,可以把此代碼放在工作簿打開事件、關閉事件,或工作表事件中去。 Sub DelBlank() For i = 20 To 1 Step = -1 If Sheet1.Cells(i, 1) = "" Then Rows(i).Delete End If Next i End Sub