2016-03-22 101 views
0

沒有人知道清除工作簿中切片器的好方法。 我有一個很多切片機的工作表,我想要一個按鈕來清除它們。Clearing Power Pivot Slicers

我寫了一點VBA的去做但它是一個有點慢

Sub ClearSlicers() 
    Dim cache As SlicerCache 

    For Each cache In ActiveWorkbook.SlicerCaches 
      cache.ClearManualFilter 
    Next cache 
End Sub 

,如果你有任何一個小滑頭只是想知道?

感謝 約翰

回答

0

這將清除紙張

Sub test() 

Dim pt As PivotTable 
Dim cache As Slicer 

For Each pt In ActiveSheet.PivotTables 
    For Each cache In pt.Slicers 
     cache.SlicerCache.ClearAllFilters 
    Next cache 
Next pt 

End Sub 
+0

代碼不工作,因爲他們是PowerPivot的切片機不透視表的所有切片。我寫的代碼工作,但需要大約25秒才能完成。我認爲這是因爲數據模型在每個過濾器被清除後都會刷新。你知道一種方法來阻止這種刷新嗎?這讓我瘋狂 ;-) – MartinHayes