2014-06-06 25 views
1

這感覺像一個愚蠢的問題,但將我所有的谷歌搜索,我無法弄清楚。我正在編寫幾個VBA腳本來幫助快速過濾一些數據透視表。過濾在數據透視表報表過濾器中顯示兩個特定的選擇

比方說,我有一個數據透視表,其中包含一些標準的銷售數據。 「報告過濾器」字段之一是「狀態」。

我已經找到了如何展現一個狀態:

Dim pt As PivotTable 
Set pt = Sheets("Sales").PivotTables("SalesPivot") 
pt.ClearAllFilters 
pt.PivotFields("State").CurrentPage = "Oregon" 

上述效果很好。但是除了顯示「俄勒岡州」和「加利福尼亞州」之外,我該如何做同樣的事情? (另外,如果還有更好的方法可以做到這一點,我全部耳朵)

手動,我會先檢查「選擇多個項目」框,然後取消選中「(全部)」選項來選擇無,然後滾動選項查找並選中「California」和「Oregon」,然後單擊「確定」。

謝謝!

+1

使用代碼,如http://stackoverflow.com/questions/14387938/excel-vba-looping-through問題的代碼-report-filters-to-change-visibility-doesnt-work/14388177#14388177 – MP24

+0

謝謝!這應該很好。 –

回答

0

對於這個問題的未來發現者,這是我做的:

Sub SelectMultiplePivotFilter() 

Dim pt As PivotTable 
Dim pf As PivotField 
Set pt = Sheets("Sales").PivotTables("SalesPivot") 
Set pf = pt.PivotFields("State") 

pt.ClearAllFilters 

For Each pi In pf.PivotItems 
    If pi.Value = "California" Or pi.Value = "Oregon" Then 
     pi.Visible = True 
    Else 
     pi.Visible = False 
    End If 
Next pi 

End Sub 
相關問題