以下代码按 8 月的日期过滤一系列日期
ActiveSheet.Range("$A$29:$CG$3582").AutoFilter field:=18, Criteria1:= _
xlFilterAllDatesInPeriodAugust, Operator:=xlFilterDynamic
如何使此代码动态化,以便可以按任何月份(例如月份(今天()))过滤范围?
试试看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)
结果做...
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