Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Автоматическое обновление Pivot table

Автор kykynja, 10.08.2012, 11:45

« назад - далее »

kykynja

Добрый день!
Подскажите, пожалуйста, мне наобходимо сделать так, чтобы при изменении исходных данных pivot table обновлялся автоматически.
В интернете нашла следующий код:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Sheets("Sheet24").PivotTables("PivotTable2").PivotCache.Refresh
End Sub
Однако при копировании его на лист с исходными данными в VBA не получается его запустить.
Помогите решить вопрос.
Спасибо!

Шпец Докапыч

Если это нужно чисто для просмотра, и сводная находится в этом же файле на другом листе, то можно обновлять при переходе:
Private Sub Worksheet_Activate()
  Me.PivotTables("PivotTable2").PivotCache.Refresh
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

kykynja

Спасибо огромное!))
Все работает))  :)

kykynja

А подскажите, пожалуйста, если в исходных данных меняется количество строк в большую или меньшую сторону, как автоматизировать это для корректного обновления pivot'а?

Шпец Докапыч

Для версии 2007 и выше: Параметры → Данные → Изменить источник данных
Для 2003, судя по всему, залезть обратно в Мастер сводных таблиц.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

kykynja

А возможно автоматизировать этот процесс, прописав это в макросе?
Или это ручной труд?
Я использую 2007 Excel
Спасибо

Шпец Докапыч

Возможно, достаточно включить макрорекордер и проделать операцию.
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Serge 007

Вариант без макросов, подходит для всех версий Excel
Создаём сводную через мастер. В качестве источника данных указываем внешний диапазон (но он может быть и листом той же книги). Сами исходные данные оформляем в виде Таблицы (Вставка-Таблица) в 2007/2010/2013 или Динамически именованным диапазоном (для любой версии). В параметрах сводной указываем период обновления (от одной минуты). Теперь сводная обновляется сама, добавление/удаление данных в исходнике отслеживается. Единственный минус - обновление происходит только через строго заданный пользователем промежуток времени, а не по событиям на листе

ЗЫ Если файл у Вас не будет работать, то потребуется вручную поменять ссылку на него на Вашем компе
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

pivotable

Цитата: Serge 007 от 13.08.2012, 16:46
Вариант без макросов, подходит для всех версий Excel
Создаём сводную через мастер. В качестве источника данных указываем внешний диапазон (но он может быть и листом той же книги). Сами исходные данные оформляем в виде Таблицы (Вставка-Таблица) в 2007/2010/2013 или Динамически именованным диапазоном (для любой версии). В параметрах сводной указываем период обновления (от одной минуты). Теперь сводная обновляется сама, добавление/удаление данных в исходнике отслеживается. Единственный минус - обновление происходит только через строго заданный пользователем промежуток времени, а не по событиям на листе

ЗЫ Если файл у Вас не будет работать, то потребуется вручную поменять ссылку на него на Вашем компе

Воспользовался предложенным решением. Работает отлично. Думаю как прикрутить XML, с ним пока что-то не ладится.