以下代码根据8月的日期过滤日期范围
ActiveSheet.Range("$A$29:$CG$3582").AutoFilter field:=18, Criteria1:= _
xlFilterAllDatesInPeriodAugust, Operator:=xlFilterDynamic
如何使此代码动态化,以便我可以按月过滤范围(例如月(今天()))?
答案 0 :(得分:2)
尝试Criteria2
,但这有点神秘。通过Array(1, datestring)
,其中1将过滤该日期的整个月份,而日期字符串必须采用m / d / y格式。
(0 =全年,2 =天,还有一些,正如somewhere here所述)。
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)
答案 1 :(得分: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