如何在VBA中正确过滤日期?

时间:2019-04-06 01:25:30

标签: excel vba

我目前正在自动执行从数据中过滤特定日期的排序过程。

我只想要2018年8月以下的数据,但是仍然有一些日期不在8月份。

ActiveSheet.ListObjects("SCRATCH").Range.AutoFilter Field:=10, Operator:= _
    xlFilterValues, Criteria2:=Array(1, "8/31/2018")

1 个答案:

答案 0 :(得分:1)

如果表中的日期存储为日期值(而不是文本),则可以进行以下操作。

显示特定日期之前的所有日期,例如G。 2018年8月1日:

ActiveSheet.ListObjects("SCRATCH").Range.AutoFilter _
    Field:=10, _
    Criteria1:="<" & CDbl(CDate("8/1/2018"))

显示两个日期之间的时间范围内的所有日期,例如。 G。在2018年8月内:

ActiveSheet.ListObjects("SCRATCH").Range.AutoFilter _
    Field:=10, _
    Criteria1:=">=" & CDbl(CDate("8/1/2018")), _
    Operator:=xlAnd, 
    Criteria2:="<=" & CDbl(CDate("8/31/2018"))