Автоматическое обновление сводной таблицы
Модератор: Naeel Maqsudov
На листе Excel сводная таблица. Исходные данные на другом листе. Как сделать чтобы при изменении исходных данных автоматически обновлялась сводная таблица? Причем обновлялась также, как если бы пользователь вручную нажал кнопку "Обновить".
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Если так, навскидку...
Можно "повесить" на кнопку "Обновить" макрос и запускать его при обновлении листа. Где-то так (данные на листе1):
Можно "повесить" на кнопку "Обновить" макрос и запускать его при обновлении листа. Где-то так (данные на листе1):
Код: Выделить всё
Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Лист2").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
Вот такой макрос обновляет сводную таблицу, но обновление "неполное", т.е. оно не аналогично тому, если просто нажать на кнопку "обновить".
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Лист2").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
например, строчки не выстраиваются в алфавитном порядке при использовании такого макроса...
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Лист2").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
например, строчки не выстраиваются в алфавитном порядке при использовании такого макроса...
Разобрался, в чем глюк такого обновления. Дело в том, что на листе с исходными данными у меня ячейки с проверкой из списка (там фамилии и их можно выбрать только из определенного набора: Иванов, Петров, Сидоров). Когда я из списка выбираю одну фамилию вместо другой, Excel не распознает это действие как обновление информации на листе с исходными данными. В этом и была вся загвоздка.
Думаю, заставить Excel считать вышеописанное действо обновлением невозможно, хотя возможно я и ошибаюсь. Если нет - подскажите, пожалуйста, как это сделать. спасибо!
Думаю, заставить Excel считать вышеописанное действо обновлением невозможно, хотя возможно я и ошибаюсь. Если нет - подскажите, пожалуйста, как это сделать. спасибо!
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
При таком раскладе Worksheet_SelectionChange видимо не подойдет.
Нужно обрабатывать событие выбора из списка. Или еще как, прикинуть надо.
p.s.
Посмотрите здесь, может что подойдет
http://www.msoffice.nm.ru/faq/cell2.htm#Validation
Нужно обрабатывать событие выбора из списка. Или еще как, прикинуть надо.
p.s.
Посмотрите здесь, может что подойдет
http://www.msoffice.nm.ru/faq/cell2.htm#Validation