小编slz*_*zar的帖子

在VBA自动过滤器中使用字符串数组作为条件

我搜索了其他帖子,发现了类似的问题,但没有什么可以帮我具体.我正在尝试获取一个字符串数组并将其用作过滤条件.这很棘手,因为数组是由一个函数创建的,并且具有可变数量的元素和内容.我需要自动过滤器来检查它并检查每个元素的E列.

我试过两种方式

1)

With Sheet17

    .Range("E1").AutoFilter Field:=5, Criteria1:=Application.Transpose(arr)

End With
Run Code Online (Sandbox Code Playgroud)

结果:对列E应用筛选器,但无法选择任何选项

2)

For i = 0 To counter - 1

    With Sheet17

        .Range("E1").AutoFilter Field:=5, Criteria1:=Application.Transpose(arr(i))

    End With

Next
Run Code Online (Sandbox Code Playgroud)

注意:Counter是一个整数,表示数组中元素的数量结果:这个正确循环遍历数组,但只选择过滤器上的最后一个选项 - 大概是因为每次循环回来都会重新开始并取消选中所有其他选项所以到最后,只检查最新的选项.

arrays excel vba autofilter

8
推荐指数
2
解决办法
5万
查看次数

标签 统计

arrays ×1

autofilter ×1

excel ×1

vba ×1