Страница 1 из 1
Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 14:07
tosha22
На листе Excel сводная таблица. Исходные данные на другом листе. Как сделать чтобы при изменении исходных данных автоматически обновлялась сводная таблица? Причем обновлялась также, как если бы пользователь вручную нажал кнопку "Обновить".
Re: Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 14:24
VictorM
Если так, навскидку...
Можно "повесить" на кнопку "Обновить" макрос и запускать его при обновлении листа. Где-то так (данные на листе1):
Код: Выделить всё
Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Лист2").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
Re: Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 15:09
tosha22
Вот такой макрос обновляет сводную таблицу, но обновление "неполное", т.е. оно не аналогично тому, если просто нажать на кнопку "обновить".
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Лист2").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
например, строчки не выстраиваются в алфавитном порядке при использовании такого макроса...
Re: Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 15:26
VictorM
У меня нет сейчас перед собой сводной таблицы, чтобы проверить.
Хотя, по идее, должно сработать.
Re: Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 18:13
tosha22
Разобрался, в чем глюк такого обновления. Дело в том, что на листе с исходными данными у меня ячейки с проверкой из списка (там фамилии и их можно выбрать только из определенного набора: Иванов, Петров, Сидоров). Когда я из списка выбираю одну фамилию вместо другой, Excel не распознает это действие как обновление информации на листе с исходными данными. В этом и была вся загвоздка.
Думаю, заставить Excel считать вышеописанное действо обновлением невозможно, хотя возможно я и ошибаюсь. Если нет - подскажите, пожалуйста, как это сделать. спасибо!
Re: Автоматическое обновление сводной таблицы
Добавлено: 17 мар 2008, 18:17
VictorM
При таком раскладе Worksheet_SelectionChange видимо не подойдет.
Нужно обрабатывать событие выбора из списка. Или еще как, прикинуть надо.
p.s.
Посмотрите здесь, может что подойдет
http://www.msoffice.nm.ru/faq/cell2.htm#Validation