2015-02-11 302 views
1

我想篩選日期列落在當前月份的第一個之前的任何日期。 所以類似下面的東西:本月之前任何日期的VBA Excel自動篩選器

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

但犯規包括當月的任何日期在其上運行。

編輯: 因此,在本年度之前的任何日期都會落在當前月份的第一個月份之前。如果過濾器現在已經應用,它只會顯示與2015年一月份日期如果應用在八月,只產生可見的日期應該17月之內是什麼,2015年

+0

請指定哪些日期應爲**可見** – 2015-02-11 14:53:01

+0

感謝您的關注。因此,在本年度之前的任何日期都會在本月的第一個月之前。如果現在應用了過濾器,則只會顯示2015年1月份的日期。如果在8月份應用,則僅在2015年1月 - 7月之內出現可見日期。 – mccreaVBA 2015-02-11 14:56:27

回答

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 
+0

非常感謝您的光顧, 。非常感激。 – mccreaVBA 2015-02-11 15:37:04