使用数组作为自动过滤条件

Joe*_*son 3 excel vba autofilter

我有以下代码,它将根据第一列中的条件删除行:

Sub Strip()
    Dim rng As Range

    With ActiveSheet
        .Columns("I").AutoFilter Field:=1, Criteria1:="=70-79%", VisibleDropDown:=False
        Set rng = .AutoFilter.Range
    End With
    If rng.Columns("I").SpecialCells(xlCellTypeVisible).Count - 1 > 0 Then
        Application.DisplayAlerts = False
        rng.Offset(1, 0).SpecialCells(xlCellTypeVisible).Delete
        Application.DisplayAlerts = True
    End If
    rng.AutoFilter
End Sub
Run Code Online (Sandbox Code Playgroud)

我有100不同的标准,我想以这种方式采取行动。我宁愿不必重复这段代码100时间,那么谁能告诉我如何以数组的形式对其进行编码?我尝试了各种方法,但似乎无法让它发挥作用。

Sid*_*out 5

.Columns("I").AutoFilter Field:=1, Criteria1:=MyArray,  Operator:=xlFilterValues
Run Code Online (Sandbox Code Playgroud)

MyArray字符串数组在哪里

例子

Dim MyArray(1 To 4) As String

MyArray(1) = "This"
MyArray(2) = "is"
MyArray(3) = "an"
MyArray(4) = "array"

'
'~~> Rest of code
'

.Columns("I").AutoFilter Field:=1, Criteria1:=MyArray, Operator:=xlFilterValues

'
'~~> Rest of code
'
Run Code Online (Sandbox Code Playgroud)

截屏

在此处输入图片说明