Обновление данных в сводных таблицах Excel
Большой диапазон данных в таблице Excel рационально представить в виде сводного отчета. Структура данного инструмента позволяет получить быстрый доступ к итогам, информации по определенному параметру. Рассмотрим создание и обновление сводных таблиц.
О целесообразности и возможности сводных таблиц
Оптимально формировать сводный отчет на основе исходной таблицы, если она отвечает следующим параметрам:
- содержится несколько сотен строк;
- пользователю нужно представлять одни и те же данные в разных разрезах, выбирать информацию по заданному условию, группировать, а встроенный фильтр и группировка справляются плохо.
Требования к исходной таблице:
- у каждого столбца есть заголовок (первый вариант – неправильный; второй – правильный);

- значения в одном столбце имеют одинаковый формат (число, дата, текст);
- все ячейки в строках и столбцах заполнены значениями;
- данные из одной ячейки нельзя разнести в разные столбцы (без объединения ячеек).
Нерациональная организация информации:

Нельзя будет вывести итоги, например, только по городу.

Лучше значения ввести следующим таким образом.
Как сделать сводную таблицу в Excel
Чтобы создать сводную таблицу в качестве исходного диапазона возьмем каталог учебной литературы:

Подразумевается, что данная таблица состоит из сотен строк. Создадим сводный отчет для выведения списка книг из конкретной категории или определенного года. Задача сформулирована – перейдем к реализации.
- Активизируем любую ячейку в исходном диапазоне – щелкаем мышкой. Переходим на вкладку «Вставка» — «Таблица». Нажимаем кнопку «Сводная таблица».

- Автоматически выделяется весь диапазон. Открывается диалоговое окно инструмента. Необходимо проверить правильность параметров для отчета (диапазон, куда выводить сводную таблицу).

- Открывается окно для построения отчета, список полей. В правой нижней части страницы – области для размещения данных из исходного диапазона.

- Области позволяют сформировать структуру сводного отчета.

- Сначала заполним «Названия строк». Так как нужно вывести список книг по годам, то в этом разделе должен быть перечень названий книг. В списке полей ставим птичку напротив поля «Название». Данные столбца имеют текстовый формат – автоматически попадают в область «Названия строк». К значениям сразу применяется сортировка по алфавиту.

- Теперь ставим птичку напротив поля «Год выпуска».
Сводная таблица сделана. С помощью нескольких кликов. Такой способ представления информации удобен для финансовых отчетов.
Как обновить сводную таблицу в Excel
От сводной таблицы больше пользы, если она динамическая. То есть при внесении новых данных в исходный диапазон поля отчета можно обновить. Как это сделать?
- Когда данные внесены в исходную таблицу, переходим на лист со сводным отчетом и щелкаем в любом его месте правой кнопкой мыши. В открывшемся меню выбираем «Обновить».

- Активизируем нужное поле сводного отчета – становится доступен инструмент «Работа со сводными таблицами». Открываем вкладку «Параметры». В группе «Данные» нажимаем кнопку «Обновить».

- Выделить сводную таблицу или отдельное поле, нажать сочетание клавиш Alt + F5.
Как настроить автоматическое обновление сводной таблицы в Excel:
- Открыть лист со сводным отчетом. Щелкнуть в любом месте таблицы левой кнопкой мыши. Это нужно для того, чтобы активизировалась «Работа со сводными таблицами».
- На вкладке «Параметры» находим группу «Сводная таблица». Нажимаем – открывается меню кнопки. Выбираем пункт «Параметры».

- В открывшемся меню «Параметры сводной таблицы» нажать кнопку «Разметка и формат». Поставить галочки напротив следующих пунктов:
Как обновить лист в excel
Как вы знаете, если вы изменяете данные в исходной таблице, относительная сводная таблица не обновляет данные в ней в то же время. Если вам нужно обновить сводную таблицу при изменении данных в таблице в Excel, я могу рассказать вам несколько быстрых способов.
Обновите сводную таблицу на листе, нажав кнопку «Обновить»
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
В Excel есть функция «Обновить» и «Обновить все» для обновления сводной таблицы на одном листе.
Щелкните сводную таблицу, данные которой нужно обновить, а затем щелкните Опция (в Excel 2013 щелкните АНАЛИЗ)> обновление > обновление. Смотрите скриншот:

Если вы хотите обновить все сводные таблицы на одном листе, вы можете выбрать Обновить все.
Обновить сводную таблицу на листе или в книге с помощью VBA
С помощью VBA вы можете не только обновлять все сводные таблицы на одном листе, но также можете обновлять все сводные таблицы во всей книге.
1. Нажмите F11 + Альт вместе на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.
2. Затем нажмите Вставить > Модули чтобы вставить новое окно модуля. А затем скопируйте следующий код VBA в окно.
VBA: обновить сводные таблицы на листе.
3. Нажмите Run кнопку в окне или клавишу F5 для запуска VBA, то сводные таблицы на листе обновляются.
Функции: Чтобы обновить все сводные таблицы во всей книге, вы можете использовать следующий VBA.
Как обновить лист в excel
Здравствуйте!
Подскажите пожалуйста как можно автоматически обновить лист при поступлении новых данных
и в чем у меня возможная ошибка. Описание на скриншоте.
Сам код, не знаю в чем ошибка. Спец. я довольно слабый пока.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer
'Application.Calculate
'If Not Intersect(Target, Range(«C2:C21″)) Is Nothing Then
'Application.EnableEvents = False
For j = 1 To Cells(2, 12).Value
For i = 1 To 20
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 1).Value <> 0 Then
Cells(1 + j, 5).Value = Cells(1 + j, 5).Value + Cells(1 + i, 1).Value
Cells(1 + i, 1).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
' If Not Intersect(Target, Range(«A2:A21″)) Is Nothing Then
' Application.EnableEvents = False
For i = 1 To 20
For j = 1 To Cells(2, 12).Value
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 3).Value <> 0 Then
Cells(1 + j, 7).Value = Cells(1 + j, 7).Value + Cells(1 + i, 3).Value
Cells(1 + i, 3).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
End Sub
Здравствуйте!
Подскажите пожалуйста как можно автоматически обновить лист при поступлении новых данных
и в чем у меня возможная ошибка. Описание на скриншоте.
Сам код, не знаю в чем ошибка. Спец. я довольно слабый пока.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer
'Application.Calculate
'If Not Intersect(Target, Range(«C2:C21″)) Is Nothing Then
'Application.EnableEvents = False
For j = 1 To Cells(2, 12).Value
For i = 1 To 20
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 1).Value <> 0 Then
Cells(1 + j, 5).Value = Cells(1 + j, 5).Value + Cells(1 + i, 1).Value
Cells(1 + i, 1).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
' If Not Intersect(Target, Range(«A2:A21″)) Is Nothing Then
' Application.EnableEvents = False
For i = 1 To 20
For j = 1 To Cells(2, 12).Value
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 3).Value <> 0 Then
Cells(1 + j, 7).Value = Cells(1 + j, 7).Value + Cells(1 + i, 3).Value
Cells(1 + i, 3).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
End Sub
Сообщение Здравствуйте!
Подскажите пожалуйста как можно автоматически обновить лист при поступлении новых данных
и в чем у меня возможная ошибка. Описание на скриншоте.
Сам код, не знаю в чем ошибка. Спец. я довольно слабый пока.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer
'Application.Calculate
'If Not Intersect(Target, Range(«C2:C21″)) Is Nothing Then
'Application.EnableEvents = False
For j = 1 To Cells(2, 12).Value
For i = 1 To 20
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 1).Value <> 0 Then
Cells(1 + j, 5).Value = Cells(1 + j, 5).Value + Cells(1 + i, 1).Value
Cells(1 + i, 1).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
' If Not Intersect(Target, Range(«A2:A21″)) Is Nothing Then
' Application.EnableEvents = False
For i = 1 To 20
For j = 1 To Cells(2, 12).Value
If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
If Cells(1 + i, 3).Value <> 0 Then
Cells(1 + j, 7).Value = Cells(1 + j, 7).Value + Cells(1 + i, 3).Value
Cells(1 + i, 3).Value = 0
End If
End If
Next
Next
'Application.EnableEvents = True
'End If
End Sub
И сам файл. Автор — foxrm
Дата добавления — 23.09.2013 в 20:18