2013-05-10 64 views
0

我正在創建一個帶有多個數據透視表的儀表板,並遇到了一個我無法克服的問題。我有一個主工作表,其中所有的數據將直接引用駐留在另一個工作表上的支點表來顯示。我正在使用組合框來過濾數據透視表中的數據。當我在包含數據透視表的工作表上時,我已經能夠獲得適用於宏的VBA代碼,但是當我處於客戶實際選擇過濾器的主頁面時,我無法使其工作,儘可能我可以告訴問題存在與.CurrentPage變量,我不怎麼能改變這個過濾正確。下面是我的代碼,組合框在工作表(「Dashboard」)上,而PvtTbls在工作表上(「數據透視表」)。任何人都可以指導我如何得到這個工作,我正在撕毀我的頭髮研究這最後3天沒有運氣。VBA Macro- PivotTble Auto-Filter組合框 - CurretnPage問題

Sub Year_Change() 
' 
' Year_Change Macro 
' 
    Worksheets("Pivot Tables").PivotTables("Termination Index").PivotFields("Year").CurrentPage = (Range("I1")) 
    Worksheets("Pivot Tables").PivotTables("Quality Index Top").PivotFields("Year").CurrentPage = (Range("I1")) 
End Sub 

非常感謝您的幫助。

+0

要清楚,當你在'工作表(「數據透視表」)內時,確切的代碼是否工作,而當你在工作表(「儀表板」)中時,它確實不會工作? – 2013-05-10 16:38:34

回答

0

我試圖重現您的問題,以CurrentPage作爲單元格(即Range(「a1」))的「目標值」而不是組合框的差異。添加「.value」爲我工作。

Sub Year_Change() 
Dim ws As Worksheet 
    Worksheets("Pivot Tables").PivotTables("Pivottable1").PivotFields("Year").CurrentPage = (ActiveSheet.Range("A1").Value) 
    Worksheets("Pivot Tables").PivotTables("Pivottable2").PivotFields("Year").CurrentPage = (ActiveSheet.Range("A1").Value) 
End Sub 

對於你的問題:你能詳細說明你正在使用的組合框嗎?它是一個適當的activeX控制或只是一個單元格中允許數據的過濾器?