过滤日期

时间:2015-03-20 17:32:49

标签: excel vba

我正在尝试过滤所有大于30/6/2014的日期。当我将条件设置为等于日期时,一切正常,但当我尝试仅过滤所有内容时,宏应用过滤器但没有找到记录(我知道我的数据集中肯定有日期> 30/6/14

我检查了所有变量,它们绝对没问题,因为正如我所说,当我将标准设置为30/6/14时,会显示正确的结果。我做错了什么?

ActiveSheet.Range(Cells(1, 1), Cells(rowcount5, columncount1)).AutoFilter Field:=matchfunction3, Criteria1:=">30/06/2014"

1 个答案:

答案 0 :(得分:0)

AutoFilter很容易被日期格式混淆。使用如下数据:

enter image description here

运行此:

Sub DateFilter()
With Range("A1:A24")
    .AutoFilter Field:=1, Criteria1:=">" & CStr(DateSerial(2015, 3, 20)), Operator:=xlAnd
End With
End Sub

将产生:

enter image description here

通过使用 DateSerial()功能,可以避免任何混淆。