首页 > 解决方案 > 日期过滤器的VBA返回空白

问题描述

当我运行下面的宏时,所有行都被隐藏,即使当我单击过滤器并重新应用时(我不更改文本,只需按 Enter 键)。我还确保数据格式正确。任何帮助是极大的赞赏!

 Sub Dates()
    '
    ' Dates Macro
    '
    Dim todaysdate As Date
    Dim ITTrecieved As Date
    Dim greaterthan
    greaterthan = ">="
    todaysdate = Format(Date, "dd/mm/yyyy")
    todaysdate = CDbl(todaysdate)

    ITTrecieved = DateSerial(Year(todaysdate), Month(todaysdate) - 2, Day(todaysdate))
    ITTrecieved = CDbl(ITTrecieved)


'
        ActiveSheet.Range("F3").AutoFilter Field:=5, _
            Criteria1:=">=" & ITTrecieved, Operator:=xlFilterValues

        ActiveSheet.Range("H3").AutoFilter Field:=7, _
            Criteria1:=">=" & todaysdate, Operator:=xlFilterValues


End Sub

标签: excelvbadatefilter

解决方案


Sub FilterDates()
'
    Dim todaysdate As Date
    Dim ITTrecieved As Date

    todaysdate = Format(Date, "dd/mm/yyyy")
    todaysdate = CDbl(todaysdate)

    ITTrecieved = DateSerial(Year(todaysdate), Month(todaysdate) - 2, Day(todaysdate))
    ITTrecieved = CDbl(ITTrecieved)


    With Worksheets("Sheet1").Range("B3")
.AutoFilter field:=5, Criteria1:=">=" & ITTrecieved, Operator:=xlAnd
.AutoFilter field:=7, Criteria1:=">=" & todaysdate, Operator:=xlAnd
End With

End Sub

嘿,我想我只是不明白你想看到什么。我认为您正在尝试使用来自两个不同列的两个不同过滤器过滤数据。您的代码似乎可以做到这一点,但是如果您看到不同的结果,那意味着我完全误解了。

宏过滤器运行之前

宏过滤器运行后


推荐阅读