excel - ListObject 表上的两个过滤器

标签 excel vba

是否可以同时过滤单个表中的多个字段?

我有一个过滤器,但不确定如何添加第二个字段。

wS.ListObjects("StructureTable").Range.AutoFilter Field:=1, Criteria1:=wC.Range("F" & x)

谢谢!

最佳答案

您可以直接调用AutoFilter第二次方法并给出2对于Field参数(假设您的表有 2 列)。例如。:

wS.ListObjects("StructureTable").Range.AutoFilter Field:=**2**, Criteria1:=wC.Range("F" & x)

完整代码:
Option Explicit

Sub Test()

    Dim ws As Worksheet
    Dim lst As ListObject

    Set ws = ThisWorkbook.Worksheets(1)
    Set lst = ws.ListObjects(1)

    'clear any existing filter
    If lst.ShowAutoFilter Then
        lst.ShowAutoFilter = False
    End If

    'set filter from range parameters
    With lst.Range
        .AutoFilter Field:=1, Criteria1:=ws.Range("D1")
        .AutoFilter Field:=2, Criteria1:=ws.Range("E1")
    End With

结束子

前:

enter image description here

后:

enter image description here

关于excel - ListObject 表上的两个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39301543/

相关文章:

arrays - 无法将值存储在数组中 - VBA

python - Openpyxl 不会以只读模式关闭 Excel 工作簿

vba - 如何在VBA中添加两个矩阵?

excel - 垂直和水平过滤的最佳方法?

excel - Autocad 2017 提取 Xdata excel lisp

Excel:如何从 VbScript 调用工作表模块中的函数

sql-server - CopyFromRecordset 返回奇怪的字符

excel - 复制一行,然后在其上方插入新行

excel - 用于解析来自用户的多行输入的 VBA 脚本

vba - 如何编写 VBA 函数来求和无限范围