簡體   English   中英

自動篩選后刪除空白行

[英]Delete Blank Rows after AutoFilter

我的Excel工作表中包含以下代碼:

Sub DeleteRows
'Filter CMReport to delete (Blank) rows.
    With ActiveSheet
        .AutoFilterMode = False
        .Range("A1:G1").AutoFilter
        .Range("A1:G1").AutoFilter Field:=1, Criteria1:="="
        .Range("A1:G1").Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    End With
End Sub

它將過濾空白行,但不會刪除它們……它說未選擇任何行。 我究竟做錯了什么。

如果您要做的就是刪除A列中帶有空白的行,則無需過濾,只需:

Sub DeleteRows()
    Range("A:A").Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

我會這樣做:

Sub DeleteRows()
    With ActiveSheet
        .AutoFilterMode = False 'remove filter             
        With .Range("A:G")
            .AutoFilter Field:=1, Criteria1:="="
            On Error Resume Next ' for the case when there is no visible rows
            .Resize(.Rows.Count - 1).Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
            On Error GoTo 0
        End With            
        .AutoFilterMode = False 'remove filter
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM