【问题标题】:Filter Date with Macro Today and Past Dates使用宏今天和过去日期过滤日期
【发布时间】:2020-09-09 13:17:53
【问题描述】:

我正在尝试制作一个宏来过滤 F 列中的日期,以显示今天的日期和任何过期的日期,例如过去的日期,但也删除带有未来日期的整行,我似乎无法让它工作。

例如:今天的日期是 9/9/2020

2020 年 9 月 7 日 - 演出

2020 年 9 月 8 日 - 演出

2020 年 9 月 9 日 - 演出

9/10/2020 - 删除 enter image description here

2020 年 9 月 11 日 - 删除

Sub Macro11() Macro11 Macro
Rows("1:1").Select
Range("B1").Activate
Selection.AutoFilter
Selection.AutoFilter
ActiveSheet.Range("$A$1:$F$225").AutoFilter Field:=6, Criteria1:=1, _
    Operator:=11, Criteria2:=0, SubField:=0
ActiveSheet.Range("$A$1:$F$225").AutoFilter Field:=6, Criteria1:="<(NOW)", _
    Operator:=xlAnd
Range("G228").SelectEnd Sub

【问题讨论】:

    标签: excel vba date datefilter


    【解决方案1】:

    @Brian Russell 为什么要使用自动过滤器?!? 您只需向后循环每个单元格,如果日期 > 今天您将删除该行。 一个基本代码(我想你的日期列是 F,就像你的示例图片)

    Sub delfutureDays()
    Dim cl As Long
    For cl = Range("F2").End(xlDown).Row To 2 Step -1
        If Cells(cl, "F") > Date Then Rows(cl).EntireRow.Delete
    Next
    End Sub
    

    【讨论】:

    • 为什么使用AutoFilter?因为循环和删除既慢又低效。
    • 完美,这正是我所需要的。谢谢你的作品完美
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多