2013-03-28 156 views
0

我創建了數據透視表,其中列出了給定日期的商店訪問者數量。有3列數據,日期列和兩列數字代表訪問者。當我根據這些數據創建一個圖表時,我會得到一個表示組成數據的日期範圍之前和之後日期的數據。我可以抑制我想通過使用命令來查看日期之前發生的所有日期:隱藏數據透視表中的數據透視表項

With Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date") 
    .PivotItems.Item(1).Visible = False 

但是,我無法找到一個方法來抑制今天的日期之後發生的日期。這使我在我的條形圖上留下了一個空白的列,其軸值爲「> 3/27/2013」​​。我可以通過實際鍵入此行壓制它:

.PivotItems.Item(">3/27/2013").Visible = False 

但不必手動做這我每次更新紙張時費力,使片不可用給其他人。 我試圖創建一個變量來更新()內的值,但我無法讓它工作。

 Dim t 
    t = Worksheets("Data").Range("i3").Value 
    .PivotItems.Item(t).Visible = False   

(其中i3處於Worksheet("Data")即日期的級聯的細胞;在這種情況下,單元格的內容是">3/27/2013"

由於

回答

0

你可以嘗試使用替代的濾波技術:

t="3/27/2013" 
Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date").PivotFilters.Add Type:=xlBefore, Value1:=t 

但是,從2007年開始使用它。

如果不工作嘗試啓動:

Worksheets("Pivot Tables").PivotTables("Weekly Statistics").PivotFields("Date").ClearAllFilters 
+0

似乎並沒有得以順利。日期過濾器已正確應用於您的代碼,但數據透視表仍列出了> 3/27/2013的數據透視表項。 – user2218004 2013-03-30 00:54:49

+0

我的錯,我不夠精確。現在答案已經改善。 – 2013-03-30 07:27:03