如何删除 Excel 过滤器中的数字

How to delete numbers in Excel Filter

我有从 A 到 F 列的数据,我想在 E 列中过滤并删除包含 # 且仅包含数字的整行。 (检查图像)。我使用了代码,它适用于#,但不适用于数字。在过滤器中,'Number filter' 不可用,所以我无法在宏中录制。

如何修改密码?请帮助我。

Sub Macro3()
Dim ws As Worksheet
Dim rng1 As Range

Set ws = Sheets("Sheet1")
Set rng1 = ws.Range(ws.[A2], ws.Cells(Rows.Count, "F").End(xlUp))

With ActiveSheet
        .AutoFilterMode = False
        rng1.AutoFilter Field:=5, Criteria1:="#"
        rng1.Offset(1, 0).EntireRow.Delete
        .AutoFilterMode = False
End With
End Sub

您可以使用 Criteria1:=">=0" 来查找所有数字。

rng1.AutoFilter Field:=5, Criteria1:=">=0", Operator:=xlAnd

Dim RowsToDelete As Range
On Error Resume Next
Set RowsToDelete = rng1.Resize(RowSize:=rng1.Rows.Count - 1).Offset(RowOffset:=1).SpecialCells(xlCellTypeVisible).EntireRow
On Error GoTo 0

If Not RowsToDelete Is Nothing Then RowsToDelete.Delete

注:

  • rng1.Resize(RowSize:=rng1.Rows.Count - 1).Offset(RowOffset:=1)
    从 rng1 选择中删除 header

  • .SpecialCells(xlCellTypeVisible).EntireRow
    仅选择过滤范围内的可见单元格。