2014-10-27 60 views
2

我有一個包含多個宏的excel文件。在這個文件中有一個名爲「Customer」的數據透視表,其中包含幾個元素(數千)。我想知道的是,是否有任何有效的方法來設置此列的過濾器到特定的值?CubeField?在數據透視表上設置過濾器值

我問的原因是因爲電子表格會要求用戶選擇一些客戶,這些客戶存儲在一個數組中,我想取這個數組中的值並相應地過濾數據透視表。

我能夠做到這一點,通過循環透視所有項目的數據透視表,使他們visible = false,然後使那些被選中,visible = true。但是,這種方法的問題在於需要花費很多時間來處理。

我看過一些使用選項的人的例子,但是,我不確定如何使用它?語法是有點複雜,我曾嘗試以下,這讓我的錯誤:我沒有使用數組值,只是試圖直接設置客戶

Worksheets("Analysis").PivotTables("PivotTable1").PivotFields("Supplier_Code").ClearAllFilters 
Worksheets("Analysis").PivotTables("PivotTable1").PivotFields("Supplier_Code").CubeField.EnableMultiplePageItems = True 
Set pt = Worksheets("Analysis").PivotTables("PivotTable1") 
With PT 
    pt.PivotFields("[PivotTable1].[Supplier_Code]").VisibleItemsList = Array("[PivotTable1].[Supplier_Code].&[106214]", "[PivotTable1].[Supplier_Code].&[101160]") ' ===> 

這裏,1個供應商代碼爲106214和其他是101160.

任何幫助讓我走向正確的方向將不勝感激。此外,請注意,我不打算只將過濾器設置爲1項,我已經能夠做到這一點,沒有任何問題,這裏的問題是一次選擇多個值,沒有循環儘管所有可能的值可能是選擇。

回答

1

選擇數據透視表後,在頂部菜單中,轉至「數據透視表工具」,然後選擇「選項」,然後從功能區中選擇「插入切片器」。此功能可以滿足您的需求 - 讓您輕鬆選擇過濾器(一次一個或多個過濾器),然後查看數據透視表的不同結果。

相關問題