Есть сводная таблица на модели данных Power Pivot из двух связанных таблиц.
Макросом в зависимости от выбора пользователя на кнопках ToggleButton применяю фильтр к значению
Код |
---|
Set pt = ThisWorkbook.Worksheets("Сводная таблица").PivotTables("Паспорт депо") Set shFilter = ThisWorkbook.Worksheets("Фильтры") With pt.PivotFields("[спрДепо].[ф7].[ф7]") .ClearAllFilters pok = "[Measures].[Безотказная работа (диап.)]" Select Case True Case shFilter.tb_BR1: .PivotFilters.Add2 _ Type:=xlValueEquals, _ DataField:=pt.CubeFields(pok), _ Value1:=1 Case shFilter.tb_BR2: .PivotFilters.Add2 _ Type:=xlValueEquals, _ DataField:=pt.CubeFields(pok), _ Value1:=2 End Select End With |
На команде ClearAllFilters эксель подвисает с надписью в баре "Идет чтение данных (для отмены нажмите клавишу ESC)..."
Все бы ничего, но когда у меня таких поле нужно перебрать два десятка в цикле, то это затягивается на долго... хотя по сути нет смысла каждый раз перечитывать данные... а можно только в конце.
Банальный Application.ScreenUpdating = False не отключает это чтение...
Подскажите умные формчане, может кто то знает как можно отключить обновление на время выполнения команд снятия и установки фильтров, а в конце обновить сразу итог?