动态过滤还包含文字的年份

时间:2019-02-07 15:15:56

标签: excel vba

我要过滤的列Q具有名为2018 Complete的类别,显示为 string 。我一直在寻找答案,以了解如何过滤2018 Complete中的20192019 Complete中的2020。我确实做了一个代码,但是没有用。有什么方法可以使它更具动态性,因此,如果我在任何其他年份参加会议,我仍然可以使用它吗?

With Sheets("Valve List")
    .AutoFilterMode = False
    .Range("Q1").AutoFilter Field:=17, Criteria1:=" & Year(Date) - 1 & " & "Complete"
End With

如果我仅使用文本,则代码可以正常工作

.Range("Q1").AutoFilter Field:=17, Criteria1:="2018 Complete"

1 个答案:

答案 0 :(得分:1)

将条件设置为

With Sheets("Valve List")
    .AutoFilterMode = False
    .Range("Q1").AutoFilter Field:=17, Criteria1:= Year(date) -1 & " Complete"
End With