Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сводная таблица Excel / 2 сообщений из 2, страница 1 из 1
16.12.2003, 15:14
    #32354093
DmitryN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица Excel
Подскажите,пожалуйста,как можно более рационально решить следующую задачу: я создал сводную таблицу,необходима процедура,которая снимет/поставит галку на все элементы определенной группы данных,включенных в сводную таблицу как элементы строк.Так как с 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
17.12.2003, 13:17
    #32355199
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица Excel
Все работает,но происходит пересчет при каждом такте цикла,нельзя ли как-то сделать это в одной транзакции?

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

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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сводная таблица Excel / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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