Есть сводная таблица на модели данных 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 не отключает это чтение...
Подскажите умные формчане, может кто то знает как можно отключить обновление на время выполнения команд снятия и установки фильтров, а в конце обновить сразу итог?