Страницы: 1
RSS
Оптимизация работы со сводной таблицей средствами VBA, Оптимизация работы со сводной таблицей средствами VBA
 
Добрый день всем!

Помогите пожалуйста со следующей проблемой:
Есть сводная таблица с поступлениями от клиентов. Есть необходимость фильтровать поступления поквартально, нарастающим итогом и т.д.
В данных, из которых таблица формируется, клиенты учитываются помесячно. Чтобы не "грузить" конечного пользователя выбором месяцев в фильтре, нарисовал выбора квартала, а дальше средствами VBA в фильтре выбираются необходимые месяцы (фильтр для пользователя вообще не виден).
Использую код:
Код
Sub квартал_1()
'ActiveSheet.PivotTables("СводнаяТаблица1").ManualUpdate = True
    
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Месяц").ClearAllFilters
    With ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("Месяц")
        .PivotItems("4").Visible = False
        .PivotItems("5").Visible = False
        .PivotItems("6").Visible = False
    End With

'ActiveSheet.PivotTables("СводнаяТаблица1").ManualUpdate = False

End Sub
Проблема в том, что после каждой строки    .PivotItems("1").Visible сводная таблица пересчитывается. Получается при выборе конкретного квартала таблица пересчитывается 3 раза, при выборе полугодия - 6, и т.д. Учитывая, что в таблице 6000 строк, вычисления происходят не быстро.
Возможно ли каким-то образом средствами VBA сначала настроить фильтр, а потом один раз пересчитать сводную таблицу? Если VBA не использовать, то так и происходит - я ставлю нужные галочки, нажимаю ОК и таблица пересчитывается.

Пробовал код
Код
ActiveSheet.PivotTables("СводнаяТаблица1").ManualUpdate = True
не помогает. Все равно постоянно пересчитывает. Отключение автоматического расчета формул тоже не работает. Помогите в какую сторону копать....
 
dimax77, а нельзя добавить в исходную таблицу доп.столбцы: квартал, полугодие - чтобы не мучиться и не мудрить с макросами?
 
Цитата
dimax77 написал: в какую сторону копать....
1 - в сторону Правил - пп 2.2, 2.3
2 - в сторону "Приемов" и Поиска - группировка дат в сводных, использование срезов и временных шкал, нарастающие итоги и пр. пр.
ps Серьезные вопросы не задают по "примерам от балды"... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
Страницы: 1
Наверх