首页 > 解决方案 > Excel 宏仅在接下来的 14 天内创建新工作表

问题描述

所以我有一个excel,它有一个日期字段和标志。
我需要创建一个新工作表,但只有date = today() + 14 并且任何标志(列)都没有“TRUE”字符串

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

我为接下来的 7 天录制了一个宏,它给了我这段代码,但我无法在 14 天、28 天等时间修改它。

ActiveSheet.Range("$A$1:$AO$959").AutoFilter Field:=3, Criteria1:= _
        xlFilterNextWeek, Operator:=xlFilterDynamic
    ActiveWindow.SmallScroll Down:=-9

标签: excelvba

解决方案


您不需要内置日期过滤器。你可以像这样建立自己的

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

请注意,VBA 在日期方面非常以美国为中心。如果您在非美国日期格式的国家/地区使用它,您可能需要将 Criteria 更改为

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

或任何适合您的日期格式。但是我会在没有第一个的情况下尝试它,Format()并且只有在你得到奇怪的结果时才使用它。


推荐阅读