2

以下代码按 8 月的日期过滤一系列日期

ActiveSheet.Range("$A$29:$CG$3582").AutoFilter field:=18, Criteria1:= _
    xlFilterAllDatesInPeriodAugust, Operator:=xlFilterDynamic

如何使此代码动态化,以便可以按任何月份(例如月份(今天()))过滤范围?

4

2 回答 2

2

试试看Criteria2,虽然这有点神秘。Pass Array(1, datestring),其中 1 将过滤该日期的整个月份,并且日期字符串必须采用 m/d/y 格式。
(0 = 全年,2 = 天,还有更多,正如这里某处所讨论的)。

Dim s As String
s = Format(Now, "MM""/""dd""/""yyyy")

ActiveSheet.Range("$A$29:$CG$3582").AutoFilter _
    Field:=18, Operator:=xlFilterValues, _
    Criteria2:=Array(1, s)
于 2013-09-06T00:02:38.967 回答
0

结果做...

Function GetDatesInPeriodConst(month As Long)
    GetDatesInPeriodConst = 20 + month
    '(January is number 21)
End Function

ActiveSheet.Range("$A$29:$CG$3582").AutoFilter field:=18, Criteria1:= _
GetDatesInPeriodConst(month(Date)), Operator:=xlFilterDynamic
于 2013-09-06T20:47:21.100 回答