2015-05-21 388 views
0

我想按日期範圍使用VBA對Excel工作表進行排序。我需要篩選當前日期一週內的所有條目。VBA/Excel - 按日期範圍排序

工作表排列成列(A到S)。列'我'存儲我想要過濾的日期。

下面是我試過的最新代碼(我已經嘗試了幾個變化......並且不能弄清楚)。

Dim A As Date 
Dim b As String 
Dim c As Long 
A = Date 
A = DateSerial(Year(A), Month(A), Day(A)) 
b = Format(A - 7, "yyyy, mm, dd") 
c = b  
With ActiveSheet 
    .Range("$A:$S").AutoFilter Field:=9, Criteria:=">" & c 
    End With 

在此先感謝您的幫助。

GTD

+0

是這種格式 「YYYY,MM,DD」 列中的格式值我的格式?這是存儲日期的非常令人驚訝的方式 – KKowalczyk

+0

「I」欄中的Hi-date格式是mm/dd/yyy。 – GtDriver

回答

1

試試這個:

ActiveSheet.Range("$A$1:$S$" & ActiveSheet.UsedRange.Rows.Count).AutoFilter Field:=9, Criteria1:=">" & Format(Date - 7, "mm/dd/yyyy") 
+0

作品 - 謝謝:)。 – GtDriver

0

試試這個:

Dim A As Date 
A = Date 

With ActiveSheet 
    .Range("$A:$S").AutoFilter Field:=3, Criteria1:=">" & A - 7 
End With 
+0

感謝您爲我查看這個。它不工作,因爲我害怕我需要它。它確實過濾了:)。對我而言,'場:= 3'應該是'場:= 9'。此外,它似乎從過濾器中刪除所有日期。 – GtDriver