powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сводная таблица Excel
2 сообщений из 2, страница 1 из 1
Сводная таблица Excel
    #32354093
DmitryN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите,пожалуйста,как можно более рационально решить следующую задачу: я создал сводную таблицу,необходима процедура,которая снимет/поставит галку на все элементы определенной группы данных,включенных в сводную таблицу как элементы строк.Так как с VBA я знаком весьма посредственно,то я просто включил запись макроса и вручную снял несколько галок.Полученный код преобразовал к следующему:
For i = 1 To ActiveSheet.PivotTables("MyTable").PivotFields("AnyField").PivotItems.Count
ActiveSheet.PivotTables("MyTable").PivotFields("AnyField").PivotItems(i).Visible = Not ActiveSheet.PivotTables("MyTable").PivotFields("AnyField").PivotItems(i).Visible
Next
Все работает,но происходит пересчет при каждом такте цикла,нельзя ли как-то сделать это в одной транзакции?
...
Рейтинг: 0 / 0
Сводная таблица Excel
    #32355199
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все работает,но происходит пересчет при каждом такте цикла,нельзя ли как-то сделать это в одной транзакции?

Точно не знаю, но можно это дело ускорить

Application.ScreenUpdating = False
With ActiveSheet.PivotTables("MyTable").PivotFields("AnyField")
For i = 1 To .PivotItems.Count
.PivotItems(i).Visible = Not .PivotItems(i).Visible
Next
End With
Application.ScreenUpdating = True
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сводная таблица Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]