Я работаю над панелью мониторинга в Excel.
Я произвел рефакторинг некоторых сводных таблиц, чтобы один срез мог фильтровать все графики, но затем обнаружил, что вы не можете просто изменить источник данных сводная таблица, которая использует срезы совместно с другими таблицами.
У меня есть макрос, который обновляет таблицу данных, а затем изменяет источник данных моих таблиц, чтобы он соответствовал новому диапазону.
Я хочу отключить срезы от таблиц, обновить таблицу, обновить источник данных для таблиц, а затем снова подключить срезы к таблицам.
На последнем этапе; После удаления слайсеров и обновления диапазонов в VBA я не могу снова прикрепить слайсеры к таблицам. Я могу сделать это вручную, щелкнув правой кнопкой мыши на слайсере -> «Соединения сводных таблиц» и установив все флажки.
Я записал макрос этого.
ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("dryer_table"))
ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("operating_table"))
ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("shift_table"))
Это бросок ошибка:
Ошибка времени выполнения '1004': невозможно получить свойство PivotTables класса
Рабочий лист
Мой слайсер называется 'Slicer_Shift', и имена таблиц правильные.
Использование Excel 2010.