2016-08-03 30 views
0

我使用下面的代碼來打印每個數據透視表中顯示的數據透視表項及其可見狀態。報表過濾器中有5個數據透視字段。如何使用VBA訪問在報表過濾器中使用VBA的數據透視表的數據透視項目

問題是,它正確地獲取數據透視字段的數量。但是當涉及到每個樞軸字段的Pivot Items no返回0時。實際上每個領域都有很多項目。我不打印可見物品。但項目及其可見狀態。

Dim pf As PivotField 
Dim pt As PivotTable 
Dim pi As PivotItem 

Set pt = Sheets("Reasons").PivotTables("PivotFields") 
For Each pf In pt.PageFields 
    For Each pi In pf.PivotItems 
     Debug.Print pi.Name & " : " & pi.Visible 
    Next 
Next 
+0

普拉莫德的情況下有效地同步數據透視表:您能不能詳細多了幾分你後的結果?在你的另一篇文章中,你說你想要一個可見項目的數組。這也是這種情況嗎?出於興趣,您打算如何處理陣列?我有一些想法,但它會幫助,如果我知道你的最終意圖 – jeffreyweir

+0

感謝您對傑夫感興趣。我的報告過濾器上有5個數據透視字段,用戶可以從中選擇任何項目。每當他們在一個Filter上進行選擇時,我想將可見項收集到一個數組中,並將該數組傳遞給VisibleItemsList方法以反映其他數據透視表中的相同更改。簡而言之,只要選擇透視圖字段的項目,我想在一個透視圖表上應用過濾器到其他數據透視表。 – Pramod

+0

我認爲您使用的是Excel 2007? – jeffreyweir

回答

1

見我的代碼在下面的鏈接,可以讓你在你不能用切片機 http://blog.contextures.com/archives/2012/08/28/update-specific-pivot-tables-automatically/

+0

真棒傑夫。簡直太棒了。過去1周我一直在努力做到這一點,並且一眨眼就解決了這個問題。我已經下載了示例工作簿並根據需要進行了修改,並且工作完美。 – Pramod

+0

很酷。很高興有幫助 – jeffreyweir

+0

我有一個懷疑傑夫。我看到,當我在ONE字段上應用過濾器時,所有其他字段的狀態也被複制。是否可以在我更改的字段上應用過濾器? – Pramod

相關問題