2016-03-22 2 views
0

Кто-нибудь знает, как можно очистить слайсеры в книге. У меня есть лист со многими 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

Смежные вопросы