2016-01-11 2 views
0

У меня есть две сводные таблицы с одинаковым PivotCache и аналогичным набором Slicers. Некоторые из Slicers управляют обе сводными таблицами, что означает, что, например, для PivotField [Month] есть всего 2 Slicers, которые имеют один и тот же SlicerCache.Назначить различные SlicerCache для Slicer в сводной таблице Excel

Теперь мне нужно «несинхронизировать» эти слайсеры, чтобы каждый из них управлял собственной сводной таблицей. Я не могу щелкнуть правой кнопкой мыши на slicer и сделать это через «PivotTable Connections», потому что изменение, сделанное в одном slicer, будет отражено в другом.

Так что я создал новый SlicerCache:

ThisWorkbook.SlicerCaches.Add ws.PivotTables(2), "[Month]" 

И хочу ASSIG этот новый SlicerCache к одному из ломтерезки, но оба метода не в состоянии:

oSlicer.SlicerCache = ThisWorkbook.SlicerCaches(38) 'Object doesn't support this property or method 
    oSlicer.SlicerCache.Index = 38 'invalid property assignment 

Есть идеи? Я знаю, что могу добиться этого, удалив и воссоздавая один из слайсеров, но это нужно делать программно.

ответ

1

Я не верю, что это возможно. Почему бы просто не удалить программные утилиты и добавить их снова, с помощью соединений, которые вам нужны? Или, если вам нужно переключить слайсер между несколькими подключениями и всего одним, у вас может быть два слайсера, уложенных друг на друга, и просто принесите тот, который вы хотите в верхнюю часть.

я написал статью некоторое время назад о SlicerCaches, что вы могли бы оказаться полезными при http://dailydoseofexcel.com/archives/2014/08/05/slicers-and-slicercaches/

+0

Я знаю, что есть и другие способы, но создавая slicercache и подключив его с ограничителем будет самым простым способом. Я в конечном итоге программно удалял и воссоздавал все слайсеры, а затем копировал все свойства из «модельных» слайсеров в основной строке. Отличная статья, я наткнулся на нее однажды. –

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