我有一個包含多個宏的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項,我已經能夠做到這一點,沒有任何問題,這裏的問題是一次選擇多個值,沒有循環儘管所有可能的值可能是選擇。