Те из вас, кто часто работает со сводными таблицами (PivotTables) знают, что в отличие от формул и диаграмм, обновлять сводные таблицы нужно вручную каждый раз после внесения изменений в таблицу с исходными данными. Кроме того, в параметрах таблицы можно выбрать опцию автоматического обновления при каждом открытии файла на вкладке "Данные".
А теперь давайте представим простую ситуацию, когда вы ежедневно работаете с постоянно обновляемой сводной таблицей и не желаете каждый раз щелкать правой клавишей на нее и обновлять, и уж точно закрывать/открывать свой файл. В таком случае, нам снова поможет простенький VBA-код.
Инструкция:
- Создаем на новом листе сводную таблицы на основе своих данных.
- Правой клавишей щелкаем на пиктограмме листа со сводной таблицей и выбираем пункт "Просмотреть код" из контекстного меню.
- Сверху в открывшемся окне Microsoft VBA выбираем Worksheet (Лист) и Activate (Активировать). Таким образом, мы устанавливаем событие, которое запустит наш код. В данном случае это активация листа сводной таблицы. Можете поэкспериментировать и с другими вариантами.
- Копируем туда указанную строку кода:
Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End Sub - Сохраняем свой файл (лучше в формате .xlsm с поддержкой макросов) и готово.
Сразу оговорюсь, что вариантов решения подобных задач с помощью VBA может быть масса, но именно этот приглянулся мне своей простотой. При желании сюда же можно добавить, например, код для проверки отсутствия пустых строк в таблице-исходнике. Такой ход поможет вам избежать проблем с группировкой дат, если используете ее.
Скачать пример
0 коммент.: