如何在Excel筛选器中删除数字

时间:2019-01-17 13:14:14

标签: excel vba excel-2016

我有从A到F列的数据,我想在E列中过滤并删除包含#和仅数字的整行。 (检查图像)。我使用了代码,它适用于#,但不适用于数字。在过滤器中,“数字过滤器”不可用,因此我无法在宏中记录。

如何更改代码?请帮帮我。

enter image description here

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

1 个答案:

答案 0 :(得分:3)

您可以使用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选择中删除标头

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