Имя: Пароль:
IT
Админ
Excel 2010. Обновить/очистить кэш фильтра сводной таблицы по новым данным.
0 Vladal
 
22.12.16
16:57
В защищенной книге после изменения в таблице данных макрос обновляет данные сводной таблицы на другом листе.

Со временем в фильтре отчета скопились "лишние" данные из старых отборов -- таблицу-источник уже давно изменили и там давно уже нет данных, которые до сих пор находятся в фильтрах.

Обновляю так:

Private Sub Worksheet_Change(ByVal Target As Range)

Sheets("План по областям").Unprotect ""
    
Sheets("План по областям").PivotTables("СводнаяТаблица2").PivotCache.EnableRefresh = True
Sheets("План по областям").PivotTables("СводнаяТаблица2").PivotCache.Refresh

Sheets("План по областям").Protect "
", DrawingObjects:=True, Contents:=True, AllowSorting:=True, Scenarios:=True, AllowFiltering:=True,    
End Sub

Каким образом можно очистить этот кэш из колонки сортировки?
1 Vladal
 
22.12.16
16:58
упс...

[CODE]Private Sub Worksheet_Change(ByVal Target As Range)

Sheets("План по областям").Unprotect ""
    
Sheets("План по областям").PivotTables("СводнаяТаблица2").PivotCache.EnableRefresh = True
Sheets("План по областям").PivotTables("СводнаяТаблица2").PivotCache.Refresh

Sheets("План по областям").Protect "", DrawingObjects:=True, Contents:=True, AllowSorting:=True, Scenarios:=True, AllowFiltering:=True,    
End Sub [/CODE]
2 Vladal
 
22.12.16
17:00
Заново создавать таблицу при изменении нескольких строк в таблице-источнике (на другом листе этой же книги) - некузяво, да и защитили специально лист от изменений.
3 Vladal
 
22.12.16
17:19
Решил!

В свойствах временной таблицы на вкладке "Данные" указал, что не надо сохранять элементы, удаленные из источника данных.

Ну и попутно там же отключил "показывать расшифровку", чтобы при двойном клике по сводной таблице не формировался новый лист с исходными данными кликнутой ячейки.