代码之家  ›  专栏  ›  技术社区  ›  PlanetUnknown

Excel宏只在未来14天内创建新工作表

  •  1
  • PlanetUnknown  · 技术社区  · 8 年前

    所以我有一个excel,它有一个日期字段和标志。
    我需要创建一个新的工作表,但只有 日期=今天()+14 和 其中任何一个 标志(列)没有“true”字符串 .

    我知道如何创建新的工作表。
    但在接下来的14天里,我正在努力创建一个过滤器。

    我在接下来的7天里录制了一个宏,它给了我这段代码,但是我已经有14天、28天等时间没能修改它了。

    ActiveSheet.Range("$A$1:$AO$959").AutoFilter Field:=3, Criteria1:= _
            xlFilterNextWeek, Operator:=xlFilterDynamic
        ActiveWindow.SmallScroll Down:=-9
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Dick Kusleika    8 年前

    你不需要内置日期过滤器。你可以这样做

    ActiveSheet.Range("$A$1:$AO$959").AutoFilter Field:=3, Criteria1:= _
        "<" & Date + 14, Operator:=xlAnd
    

    注意,vba在日期方面非常以我们为中心。如果在使用非美国日期格式的国家/地区使用此格式,则可能需要将条件更改为

    Critieria1: = "<" & Format$(Date + 14, "yyyy/m/d")
    

    或者任何适合你的日期格式。但我会尝试没有 Format() 首先,而且只有当你得到奇怪的结果时才使用它。

    推荐文章