代码之家  ›  专栏  ›  技术社区  ›  Anu

如何用excelvba筛选有条件的多列

  •  0
  • Anu  · 技术社区  · 6 年前

    我有下面的excel表和值

    enter image description here

    我需要什么

    我只想在满足以下条件时过滤掉值

    If Status = "RO" OR Status = "SS" OR (Status = "NO" AND StartDate <>"") OR Status = "INVEST")

    用VBA实现excel过滤器。

    ActiveSheet.Range("$A$3:$D$21").AutoFilter Field:=4, Criteria1:="SS"

    但是如何用过滤器检查呢 if blank on start date and a particular value on Status

    1 回复  |  直到 4 年前
        1
  •  1
  •   QHarr    6 年前

    选择填充区域中的单元格,然后按将数据设置为Excel表格 Ctrl键 T型

    在末尾添加一个名为 Include .

    =OR([Status] = "RO", [Status]  = "SS", AND([Status] = "NO",[Start Date] <>""),[Status] = "INVEST")
    

    在代码中使用以下VBA行:

    With ThisWorkbook.Worksheets("Yoursheetname").ListObjects("YourTableName").Range
        .AutoFilter
        .AutoFilter Field:=5, Criteria1:= _
        "TRUE"
    End With
    

    数据:

    data

    推荐文章