Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 动态筛选还包含文本的年份_Excel_Vba - Fatal编程技术网

Excel 动态筛选还包含文本的年份

Excel 动态筛选还包含文本的年份,excel,vba,Excel,Vba,我试图筛选的列Q的类别为2018 Complete present as string。我一直在寻找答案,看看如果我在2019年,如何筛选出2018年完成,如果我在2020年,如何筛选出2019年完成。我确实做了一个代码,但它不起作用。有没有办法让它更具活力,这样,如果我在其他年份在场,我仍然可以使用它 With Sheets("Valve List") .AutoFilterMode = False .Range("Q1").AutoFilter Field:=17, Crit

我试图筛选的列Q的类别为2018 Complete present as string。我一直在寻找答案,看看如果我在2019年,如何筛选出2018年完成,如果我在2020年,如何筛选出2019年完成。我确实做了一个代码,但它不起作用。有没有办法让它更具活力,这样,如果我在其他年份在场,我仍然可以使用它

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"
将标准设置为

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

谢谢你的帮助!这很有效。只是想知道为什么我的代码不起作用?你用引号围绕着日期函数。所以基本上,过滤器是字面上的文本:YearDate-1 Complete。谢谢你的帮助,但是,我不能标记答案,因为我没有足够的声誉这么做。不用担心。很高兴听到这有帮助。