VBA Excel自动筛选器可以在当月之前的任何日期使用

时间:2015-02-11 14:42:06

标签: excel vba excel-vba

我试图为当前月份的第1天之前的任何日期过滤日期列。 所以类似于下面的内容:

ActiveSheet.Range("$A:$BF").AutoFilter Field:=12, Criteria1:= _
    xlFilterYearToDate, Operator:=xlFilterDynamic

但不包括当月运行的任何日期。

编辑: 因此,在当前年度的第一个月之前的任何日期,在当前年度内。如果现在应用过滤器,则仅显示2015年1月的日期。如果应用于8月,则仅在2015年1月至7月期间生成可见日期。

1 个答案:

答案 0 :(得分:4)

这应该适合你:

Dim dtStart As Date
Dim dtFinal As Date

dtStart = CDate(Evaluate("DATE(YEAR(NOW()),1,1)"))
dtFinal = CDate(Evaluate("EOMONTH(TODAY(),-1)"))

ActiveSheet.Range("A:BF").AutoFilter 12, ">=" & dtStart, xlAnd, "<=" & dtFinal