【发布时间】:2018-02-27 19:50:36
【问题描述】:
我正在提取上个月的第一天和最后一天,并将过滤器应用于应显示这些日期之间的记录的日期列。
first_dy = DateSerial(Year(Date), Month(Date) - 1, 1)
last_dy = DateSerial(Year(Date), Month(Date), 0)
With Worksheets("Sheet1")
.AutoFilterMode = False
.Range("A1:R100000").Select
Selection.AutoFilter
Worksheets("Sheet1").Range("A1").AutoFilter Field:=15, Criteria1:="<" & last_dy, Operator:=xlAnd, Criteria2:=">" & first_dy
上面的代码显示零记录。但是,当我仅应用大于上个月第一天的标准时,它会向我显示该月和当月的正确记录。以下代码供参考:
Worksheets("Sheet1").Range("A1").AutoFilter Field:=15, Criteria1:=">=" & first_dy
但是,当我对大于上个月最后一天的记录应用过滤器时,它没有显示任何记录。如果我使用下面的代码,代码工作正常。它只显示上个月最后一天的记录:
Worksheets("Sheet1").Range("A1").AutoFilter Field:=15, Criteria1:="=" & last_dy
【问题讨论】: