Как обновить информацию в файле excel

Управление обновлением внешних ссылок (связей)

​Смотрите также​Заранее спасибо.​ т.е. при любом​Application.Calculation = xlCalculationAutomatic​ “$”.​В настройках «формулы»​ Это нужно для​ диапазона.​содержится несколько сотен строк;​ Вручную, пользователь обновляет​На следующем рисунке показан​

Дополнительные сведения о внешних ссылках

​ наличие в книге​ обновлять связи автоматически​в группе​.​Существует несколько вариантов выбора​Чтобы обновить связи, нажмите​При создании внешних ссылок​_Boroda_​ телодвижении (кроме изменения​Makintosh​Если в ссылке​ — «параметры вычислений»​ того, чтобы активизировалась​Области позволяют сформировать структуру​пользователю нужно представлять одни​

Книга, содержащая связи

​ данные, нажав кнопку​ основной процесс обновления​

​ самых последних данных.​    ​Буфер обмена​имя связи автоматически не​

​ в диалоговом окне​ кнопку​ (также называемых связями)​: а так?​

Управление связями с другими книгами

​ цвета фона ячейки).​: В настройках стоит​ используются символы $,​ нужно поставить «автоматически»,​ «Работа со сводными​ сводного отчета.​ и те же​Обновить выбранное подключение​ данных, подключенных к​Связь с параметрическим запросом​Этот параметр влияет на​нажмите кнопку​ удаляется, поэтому его​Запрос на обновление связей​Параметры​ можно задать для​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР(A1;’G:ПАПКАКакаятокнига.xlsx’!Таблица[#Данные];2+(D1=»абв»);0)​ И соответственно, если​ автоматический пересчёт. Но​

Ручное обновление всех (или никаких) связей в книге

  1. ​ то она называется​ если стоит другое​ таблицами».​Сначала заполним «Названия строк».​ данные в разных​

  2. ​.​

  3. ​ внешнему источнику.​ нельзя обновить без​​ все книги, которые​​Копировать​ может потребоваться удалить.​.​​в области сведений​​ них поддержку и​

Частичное обновление связей с другими книгами вручную

  1. ​Стоит ли в​

  2. ​ ваша функции медлительная,​

  3. ​ всё равно приходится​​ абсолютной, если символов​​ то ячейки пересчитываются​​На вкладке «Параметры» находим​​ Так как нужно​​ разрезах, выбирать информацию​​Обновление всех связей​

    Подключения к данным

  4. ​1. когда пользователь инициирует​​ открытия книги-источника.​​ открываются на компьютере.​.​

    ​Удаление имени​На вкладке​ о документе, а​ расписание обновления. В​

    ​ параметрах галка «При​ то это будет​

  5. ​ обновлять вручную. И​​ $ в ссылке​​ по другим условиям.​

Управление выдачей запроса на обновление всех связей

​ группу «Сводная таблица».​ вывести список книг​ по заданному условию,​

Отключение выдачи запроса на обновление связей данной книги и обновление связей вручную

​Этот параметр обновляет все​​ операции обновления, чтобы​Нажмите кнопку​ Пользователи, которые откроют​Нажмите кнопку​На вкладке​Данные​ затем выберите команду​ случае изменения значения​

  1. ​ пересчете книги» «Обновлять​​ сказываться на быстроте​​ ещё заметил, если​​ нет – относительной.​​по 2003 (могу​​ Нажимаем – открывается​​ по годам, то​

  2. ​ группировать, а встроенный​​ подключения к данным​​ получить самые последние​

  3. ​Не обновлять​

​ книгу на другом​​Вставить​Формулы​в группе​Включить это содержимое​ в ячейке приложение​ ссылки на другие​​ работы всего Excel​

Настройка обновления связей по запросу при открытии файла

​ формула написана встроенными​ Адреса таких ссылок​​ ошибиться, кажется так)​​ меню кнопки. Выбираем​

Если никакие связи не создавались

  1. ​ в этом разделе​​ фильтр и группировка​​ в книге при​​ данные.​​.​​ компьютере, не будут​​.​

  2. ​в группе​​Подключения​​.​

  3. ​ Microsoft Excel не​​ документы»?​Сергей​ функциями Excel то​​ называются абсолютными и​

​ : сервис-параметры-вкладка вычисления,​ пункт «Параметры».​ должен быть перечень​ справляются плохо.​ нажатии кнопки​2. обновление делает подключение​Закройте конечную книгу.​ затронуты.​Нажмите стрелку рядом с​Определенные имена​нажмите кнопку​

Разрыв связей с источником

​Закройте все книги.​​ выполняет поиск нового​И галка «Сохранять​: Здравствуйте.​ всё хорошо автоматом​ относительными, соответственно. «​ надо поставить галочку​В открывшемся меню «Параметры​ названий книг. В​Требования к исходной таблице:​Обновить все подключения​​ к источнику данных,​

  1. ​Откройте книгу-источник.​​На вкладке​​ кнопкой​​нажмите кнопку​​Изменить связи​​Откройте книгу, содержащую связи.​​ значения, если это​

  2. ​ значения внешних связей»?​​Вопрос такой -​​ обновляется, а если​Drshall​

    • ​ около пункта автоматически​ сводной таблицы» нажать​ списке полей ставим​у каждого столбца есть​

    • ​.​ часто сохранили файл​

  3. ​Откройте конечную книгу.​​Файл​​Параметры вставки​

  4. ​Диспетчер имен​.​На вкладке​

    ​ не задано пользователем.​

  5. ​Сергей​​ в папке имеется​​ с помощью написанной​​: а если адрес​​К предыдущему ответу:​​ кнопку «Разметка и​​ птичку напротив поля​

  6. ​ заголовок (первый вариант​​Регулярное обновление​​ подключения, который определяет​Нажмите кнопку​нажмите кнопку​​, а затем​​.​

  7. ​Нажмите кнопку​Данные​Книга, содержащая связи, называется​: Галки стоят. Предложенная​ несколько десятков файлов​ пользовательской функцией то​ ячейки не вручную​

Замена одной формулы ее вычисляемым значением

​ знак $ фиксирует​ формат». Поставить галочки​ «Название». Данные столбца​ – неправильный; второй​Этот параметр автоматически обновляет​ все сведения, необходимые​Обновить​Параметры​​ выберите команду​ Кнопка ​В столбце​

  1. ​Запрос на обновление связей​
    ​в группе​ книгой назначения, а​ формула вообще только​ эксель, таблицы с​
    ​ возникает эта проблема.​​ прописывать, а при​

    1. ​ значение при копировании​ напротив следующих пунктов:​

    2. ​ имеют текстовый формат​​ – правильный);​​ данные интервалом времени,​​ для доступа к​​.​​и выберите категорию​​Значения​​Имя​​.​

    3. ​Подключения​​ книга, с которой​​ нули выдаёт ))​​ одинаковой структурой, но​​New​

  2. ​ написании формулы щелкать​​ формул, но не​​Закрыть окно, нажав кнопку​​ – автоматически попадают​​значения в одном столбце​​ заданные автором книги.​ Выноска 4​ и получить данные​

  3. ​Примечание:​​Дополнительно​ Изображение кнопки​.​

  4. ​выберите имя, которое​Щелкните​​нажмите кнопку​ Выноска 4​ установлена связь, называется​Придётся пока что​​ разным количеством строк​ Изображение кнопки​: А у вас​

Если известно, что подключение к исходному файлу отсутствует

​ их​​ влияет на пересчет,​​ ОК.​ в область «Названия​ имеют одинаковый формат​Подробнее о том, как​ из внешнего источника​Мы стараемся как​.​

Если требуется работать с имеющимися данными, а не заменять их новыми

​Нажмите кнопку​​ следует удалить, и​​Не отображать оповещение и​

Если обновление в последний раз заняло слишком много времени

​Изменить связи​​ исходной книгой. Если​​ 30+ файлов открывать,​ + один файл​ в написанных функциях​Makintosh​ цитатка из хелпа​Еще один вариант:​ строк». К значениям​​ (число, дата, текст);​​ определить подключения к​​ данных.​​ можно оперативнее обеспечивать​​В Excel 2007 нажмите​​Не обновлять​ нажмите кнопку​ не обновлять автоматические​

Если эта книга создана другим пользователем и вы не знаете, почему появился этот запрос

​.​​ открытая книга (конечный​​ чтобы значения в​ в который вытягиваются​ есть строка ?​: Уважаемые знатоки. Вот​»При копировании формул​​Открыть лист со сводным​​ сразу применяется сортировка​​все ячейки в строках​​ внешним источникам данных​​3. существует различных источников​​ вас актуальными справочными​

Если вы каждый раз одинаково отвечаете на этот запрос и хотите, чтобы он больше не отображался

​ кнопку Microsoft Office​. Обновление из источника​Удалить​ связи​

​Из списка​ файл) содержит связи​​ нужном собрать =)​

​ определенные значения из​Application.Volatile​ столкнулся с такой​ возникает необходимость управлять​ отчетом. На вкладке​ по алфавиту.​ и столбцах заполнены​

  1. ​ в книге Excel​​ данных, которые вы​​ материалами на вашем​​, щелкните​​ при отсутствии подключения​​.​​.​

    ​Источник​ с другими книгами​Изображение кнопки Office​ Хорошо, что это​​ этих таблиц. В​​Makintosh​​ проблемой.​​ изменением адресов ячеек​

  2. ​ «Разработчик» нажать кнопку​​Теперь ставим птичку напротив​​ значениями;​​ читайте в статье​ можете получать доступ,​​ языке. Эта страница​Параметры Excel​ к нему невозможно.​Если используется диапазон внешних​

​Возможно, связь была создана​выберите связанный объект,​​ или файлами (которые​

​ нечасто требуется.​​ этом файле более​: Нет, такой строки​Значение ячейки А1​ или ссылок. Для​ «Запись макроса».​ поля «Год выпуска».​данные из одной ячейки​ подключение к внешним​

  1. ​ таких как OLAP,​​ переведена автоматически, поэтому​​и выберите категорию​​ Например, если книга-источник​​ данных, параметр запроса​​ случайно путем перемещения​​ который необходимо изменить.​

  2. ​ называются исходными файлами),​​Спасибо за внимание!​​ 5к строк. Для​

  3. ​ нету.​

​ на Листе1 зависит​​ этого перед символами​Выполнить вручную обновление сводной​Сводная таблица сделана. С​

Если известно, что исходный файл доступен для подключения к нему

​ нельзя разнести в​​ данным (импорт) в​​ SQL Server, данных​ ее текст может​Дополнительно​

Если используется параметрический запрос

​ расположена в сети,​ может также использовать​ или копирования диапазона​

  1. ​Для выделения нескольких связей​​ а исходные файлы​​Serge_007​

  2. ​ вытягивания использую формулу:​

  3. ​R Dmitry​

  4. ​ от значения ячейки​

  5. ​ адреса ячейки или​​ таблицы – остановить​​ помощью нескольких кликов.​

support.office.com

Обновление внешних данных в книге, открытой в браузере

​ разные столбцы (без​​ справочной системе Microsoft​ OLEDB и драйверы​ содержать неточности и​.​ а подключение к​ данные из другой​ ячеек, листа или​ щелкните каждый связанный​ изменятся, то связи​: Значит работает, иначе​Формула работает, всё,​: Нет, такой строки​ В2 на Листе2.​ ссылки устанавливаются символы​ запись. Нажать на​ Такой способ представления​ объединения ячеек).​ Excel.​ ODBC.​ грамматические ошибки. Для​В разделе​

​ сети отсутствует.​ книги. Может потребоваться​ диаграммы из одной​ объект, удерживая нажатой​ в открываемой книге​ было-бы значение ошибки​ что нужно вытягивает.​ нету.{/post}{/quote}​ Вот если поменять​ “$”. Изменяться только​ кнопку «Макросы». Выбрать​ информации удобен для​Нерациональная организация информации:​Чтобы обновить данные из​4. обновление добавляет самых​ нас важно, чтобы​Общие​Нажмите кнопку​ проверить и удалить​ книги в другую.​ клавишу CTRL.​

В этой статье

​ могут указывать на​

​#ССЫЛКА!​ Проблема в том,​

​Function нннннн()​ значение В2 а​

Узнайте об обновлении данных

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

Основной процесс обновления внешних данных

​ внешнего источника данных​ последних данных в​ эта статья была​снимите флажок​

​Не обновлять​ эти типы связей.​ Откройте книгу, а​Чтобы выделить все связи,​ устаревшие данные.​Сергей​ что при первом​Application.Volatile True​ потом перейти на​

​ ячейки, перед которыми​ записанный – «выполнить».​От сводной таблицы больше​ например, только по​ в книге, открытой​ книге.​ вам полезна. Просим​

​Запрашивать об обновлении автоматических​.​В Excel формула удаляется​

​ затем найдите ненужные​

Параметры для обновления данных Excel

​ нажмите клавиши CTRL+A.​1. Конечная книга содержит​: Увы, пока Какуютокнигу​ открытии вместо значения​…​ лист1 то ячейка​ не стоит символ​Теперь сводный отчет при​ пользы, если она​ городу.​ в браузере, выполните​К началу страницы​ вас уделить пару​ связей​Нажмите кнопку​ при замене на​ связи и разорвите​Нажмите кнопку​ внешние ссылки.​

​ не открыть также​ выдаётся​…​ А1 не обновляется.​ “$”. Если перед​ открытии будет обновляться​

​ динамическая. То есть​

​Лучше значения ввести следующим​

​ следующие действия.​

​Не удается определить информации,​ секунд и сообщить,​. Если этот флажок​

​Не обновлять​

​ возвращаемое значение. Чтобы​ их или замените​Обновить значения​2. Внешняя ссылка (или​​ выдает #ССЫЛКА!, а​​Quote​

​…​

​ И что бы​ всеми атрибутами адреса​ программно.​ при внесении новых​​ таким образом.​​Откройте книгу, содержащую данные,​

​ необходимой для подключения​

​ помогла ли она​ снят, связи будут​. Если не требуется​

​ отменить случайную замену​ их значениями.​.​ связь) представляет собой​ затем меняет на​200?’200px’:»+(this.scrollHeight+5)+’px’);»>#ССЫЛКА! и необходимо открыть/закрыть​myFunction=…​ обновить данные нужно​ ячейки поставить символ​

Обновление данных из внешнего источника данных

​Есть например ячейка A1,​ данных в исходный​​ которые вы хотите​ к внешнему источнику​

  1. ​ вам, с помощью​ обновляться автоматически (без​ получение текущих данных,​

  2. ​ формулы ее значением,​​Важно:​​Можно настроить автоматическое обновление​

  3. ​ ссылку на диапазон​ нули. Проблема именно​

  4. ​ все книги, чтобы​​End Function​​ кликнуть 2 раза​ “$”, то при​ в которую берутся​

  5. ​ диапазон поля отчета​​Чтобы создать сводную таблицу​​ обновить.​ данных в книге​ кнопок внизу страницы.​

​ выдачи запроса).​

support.office.com

Обновление данных в сводных таблицах Excel

​ можно сэкономить время,​ немедленно после ввода​ При разрыве связей с​ связей при запуске​ ячеек в книге-источнике.​ в невозможности по​ собрать данные. В​New​ по ячейке А1​ копировании формулы ссылка​

О целесообразности и возможности сводных таблиц

​ данных из ячейки​ можно обновить. Как​ в качестве исходного​Щелкните значок​

  • ​ при работе в​
  • ​ Для удобства также​Одинаковый запрос для всех​ не обновляя все​ или вставки значения​ источником все формулы,​ или после запуска.​3. Книга-источник содержит ячейку,​ какой-то причине вытащить​

​ интернете встречал решения​

  • ​: А вы попробуйте​ и нажать на​ не изменится.​ F1 по формуле​
  • Заголовки.
  • ​ это сделать?​ диапазона возьмем каталог​данных​
  • ​ браузере. У вас​ приводим ссылку на​ пользователей этой книги​
  • ​ связи. После открытия​ нажмите кнопку​ использующие источник, заменяются​Предупреждение:​

​ значение из которой​

Информация.

​ данные из файлов,​ на ВБА, но​ добавьте её сразу​

Рационально.

​ Enter. Может можно​Например, если в​

​ =F1. По каким-то​

Как сделать сводную таблицу в Excel

​Вручную:​ учебной литературы:​на панели инструментов.​ открыть книгу в​

Каталог.

​ оригинал (на английском​    ​ книги нажмите на​Отменить​ на их текущее​ Этот режим влияет на​ загружается и помещается​ которые ещё не​ я в нём​

  1. ​ первой строкой под​ написать код который​ записи формулы ссылку​ причинам иногда после​Когда данные внесены в​Подразумевается, что данная таблица​Вставка.
  2. ​Выполните одно из указанных​ Microsoft Excel 2010​ языке) .​Предупреждение:​ вкладке​.​Параметры.
  3. ​ значение. Например, связь​ всех пользователей книги.​ в конечную книгу.​ открывались в эту​ не разбираюсь и,​ названием функции, вот​ бы обновлял все​Настройки.
  4. ​ на ячейку D7​ изменения данных в​Структура.
  5. ​ исходную таблицу, переходим​ состоит из сотен​ ниже действий.​ для определения сведений​При использовании книги в​ Этот режим влияет на​Данные​Выделите ячейку с формулой.​ =СУММ([Бюджет.xls]Годовой!C10:C25) будет заменена​ Если отключить обновление​Когда обе связанные книги​ сессию.​ так как решения​ так​ формулы на листе.​ записать в виде​Название.
  6. ​ ячейке F1 данные​ на лист со​

Год выпуска.

​ строк. Создадим сводный​Установите флажок​ о подключении и​ браузере, средство просмотра​ всех пользователей книги.​

Как обновить сводную таблицу в Excel

​в группе​Если формула является​ на =45. Эту​ связей и выдачу​ открыты на одном​Nad_Serg​ для единичной книги​Function МояСуперФункция()​

​ Подскажите, как можно​

  1. ​ $D7, то при​ в ячейке A1​ сводным отчетом и​ отчет для выведения​Обновить все подключения​ другие параметры, например​ веб-отображает данные, либо​ Если отключить обновление​Подключения​Обновить.
  2. ​ формула массива, выделите​ операцию нельзя отменить,​ запроса, пользователи этой​ компьютере, связи обновляются​: Сергей, я избавилась​ не могу сообразить,​Application.Volatile​Данные.
  3. ​ решить данную проблему.​ перемещении формулы будет​ не меняются автоматически,​ щелкаем в любом​

​ списка книг из​обновить все подключения​ способ отображения данных,​

  1. ​ хранится непосредственно в​ связей и выдачу​кнопку​ диапазон ячеек, содержащих​ поэтому стоит сохранить​ книги не будут​ автоматически. Когда конечная​ от этой проблемы​
  2. ​ что мне нужно​’ля-ля-ля​Заранее огромное спасибо!​ изменяться только номер​ а изменяются только​Параметры1.
  3. ​ его месте правой​ конкретной категории или​ к данным в​ который требуется обновить.​ книге, или в​

Пункты.

​ запроса, пользователи этой​Изменить связи​

​ формулу массива.​

  1. ​ версию файла​ знать, что данные​ книга открыта, а​ убрав все флажки​
  2. ​ сделать, чтобы данные​’ля-ля-ля​New​ строки “7”. Запись​ после захода в​ кнопкой мыши. В​

​ определенного года. Задача​ книге​ Во время настройки​

exceltable.com

Обновление данных в Excel

​ внешнему источнику данных,​ книги не будут​, а затем обновите​Выбор диапазона, содержащего массив​.​ устарели.​ книга-источник не открыта,​ (галочки) в на​ со всей кучи​End Function​: А версия Excel​ D$7 означает, что​ ячейку A1 вручную​ открывшемся меню выбираем​ сформулирована – перейдем​Выберите команду​ в Excel 2010,​ таких как базы​ знать, что данные​ связи только с​

​   ​​На вкладке​На вкладке​ в области сведений​ вкладке «защищенный просмотр»​

​ моих файлов подгружались​​вдруг поможет​ какая? Пересчёт какой​

​ при перемещении будет​​ и нажатия Enter.​ «Обновить».​ к реализации.​
​Обновить выбранное подключение​ при публикации книги​ данных или в​ устарели.​ нужными исходными файлами.​Щелкните любую ячейку в​
​Данные​Данные​ о документе возможно​ в «параметрах безопасности»​ в файл-сборщик :(​
​Makintosh​ стоит? Если ручной,​ изменяться только символ​ Когда таких ячеек​Активизируем нужное поле сводного​Активизируем любую ячейку в​
​для обновления определенного​ в Microsoft SharePoint​ кубе интерактивной аналитической​На вкладке​Нажмите кнопку​ диапазоне массив.​в группе​в группе​ появление запроса на​ (см файл)​Есть ли сравнительно​: Ребята, вы просто​ то поставьте Автоматический.​ столбца “D”. Если​ много, то выполнение​ отчета – становится​ исходном диапазоне –​
​ подключения для сводной​ Server 2010 сохраняются​ обработки (OLAP). Если​Данные​Не обновлять​На вкладке​Подключения​Подключения​ обновление связей. Можно​Сергей​ простое решение?​ мозги. Всё помогло.​В Excel 2003​ же записать адрес​ обновления всех данных​ доступен инструмент «Работа​ щелкаем мышкой. Переходим​ таблицы.​ параметры.​ книгу, которую вы​в группе​. Обратитесь к владельцу​Главная​нажмите кнопку​нажмите кнопку​ задать режим вывода​: Помогло изменение формулы.​П.С. Ранее структура​ Добавил строчку Application.Volatile​
​ — Сервис -​ в виде $D$7,​ вручную затруднительно. Как​ со сводными таблицами».​ на вкладку «Вставка»​К началу страницы​В таблице ниже приведены​ используете содержит данные​Подключения​

​ книги. Вы также​​в группе​Изменить связи​Изменить связи​ этого запроса, а​ Вместо таблицы использовал​

Не обновляются автоматически данные

​ таблиц была проще​​ и всё хорошо​ Параметры — Вычисления​ то ссылка при​

​ автометичски обновить все​ Открываем вкладку «Параметры».​ — «Таблица». Нажимаем​Большой диапазон данных в​ краткое описание обновления​ из внешнего источника​нажмите кнопку​ можете выяснить, какие​Редактирование​.​.​ также режим обновления​ диапазон.​ и для вытягивания​ стало.​ — Автоматически​ перемещении формулы на​ данные?​ В группе «Данные»​ кнопку «Сводная таблица».​

​ таблице Excel рационально​

​ данных, которые можно​​ данных, вы можете​Изменить связи​ связи находятся в​нажмите кнопку​
​В списке​Нажмите кнопку​ всех связей без​Старая​

​ значений я использовал​​New​New​ этот адрес не​Ваш песец​ нажимаем кнопку «Обновить».​

​Автоматически выделяется весь диапазон.​​ представить в виде​ выбрать при настройке​

​ обновить данные. Эта​​.​ книге. На вкладке​

​Найти и выделить​

​Источник​​Запрос на обновление связей​ вывода запроса. Кроме​Новая​ формулу:​: Мы такие ))​: Если Excel 2010​ изменится, и в​: а если просто​Выделить сводную таблицу или​ Открывается диалоговое окно​ сводного отчета. Структура​ подключений к данным​

​ операция извлекает самая​​Нажмите кнопку​Данные​и выберите команду​

​выберите связь, которую​

​.​​ того, если книга​Quote​

​Quote​​ Только учтите, что​ — вкладка Формулы​

​ расчетах будут участвовать​
​ страницу обновить, сохранив​
​ отдельное поле, нажать​
​ инструмента. Необходимо проверить​
​ данного инструмента позволяет​
​ в Microsoft Excel.​
​ новая версия данных,​

​Запрос на обновление связей​​в группе​Выделить группу ячеек​ требуется разорвать.​Выберите нужный режим.​ содержит несколько связей,​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(D1=»абв»;ВПР(A1;’G:ПАПКА[Какаятокнига.xlsx]Лист1′!A1:F10;2;ЛОЖЬ);ВПР(A1;’G:ПАПКА[Какаятокнига.xlsx]Лист1′!A1:F10;3;ЛОЖЬ))​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=’G:ПАПКА[Какаятокнига.xlsx]Лист1′!A1​

​ написав эту строку​
​ — (справа вверху)​

​ данные из ячейки​

​ перед этим? не​

​ сочетание клавиш Alt​​ правильность параметров для​ получить быстрый доступ​Параметр обновления​ который включает в​.​

​Подключения​​.​Для выделения нескольких связанных​Примечание:​ можно обновлять только​Получается, что эксель​Использование этой формулы​ в вашей функции,​ Параметры вычисления -​ D7. Если в​ помогает?​ + F5.​ отчета (диапазон, куда​ к итогам, информации​Описание​ себя все изменения,​Выберите нужный режим.​нажмите кнопку​В диалоговом окне​ объектов щелкните каждый​

planetaexcel.ru

Обновление данных при открытии книги (Как взять данные из соседних книг эксель, не открывая их?)

​ Даже если запретить Excel​​ некоторые из них.​
​ не видит таблицы​ не требовало открытия​ ваша функция стала​ выбрать Автоматически​ формуле указан интервал​Евгений берегов​Как настроить автоматическое обновление​ выводить сводную таблицу).​ по определенному параметру.​Обновить при открытии​ внесенные с момента​Примечание:​Изменить связи​
​Выделить группу ячеек​ из них, удерживая​ выдавать запрос на​Закройте все книги. Если​ в закрытом файле,​ всех основных файлов.​​ «летучей», т.е. она​​R Dmitry​ ячеек G3:L9, то​: попробуй поставить не​ сводной таблицы в​Открывается окно для построения​ Рассмотрим создание и​Средство просмотра автоматическое обновление​ последнего обновления данных.​ При наличии разорванных связей​.​установите флажок​ нажатой клавишу CTRL.​ обновление связей, пользователь​ одна книга-источник будет​ но видит диапазоны.​
​П.П.С. Если решением​ теперь всегда будет​
​: может стоит включить​ управлять можно каждым​ =Ф1 а =Ф$1​ Excel:​ отчета, список полей.​
​ обновление сводных таблиц.​​ внешних данных при​
​Узнайте об обновлении данных​ будет появляться оповещение​Можно ответить на запрос​
​Текущий массив​Чтобы выделить все связи,​ будет получать сообщения​ открыта, а остальные​ По крайней мере​
​ будет изменение формулы,​

​ пересчитываться при любом​​ автоматическое вычисления?​
​ из четырех символов:​
​Алексей маслов​Открыть лист со сводным​ В правой нижней​Оптимально формировать сводный отчет​ открытии книги.​
​Параметры для обновления данных​ об этом.​

​ и запретить его​​.​ нажмите клавиши CTRL+A.​ о наличии разорванных​
​ закрыты, обновления не​ у меня.​ также буду благодарен.​ изменении на листе,​New​ “G”, “3”, “L”​
​: В следующий раз​

​ отчетом. Щелкнуть в​​ части страницы –​ на основе исходной​​Обновление вручную​

​ Excel​​Нажмите кнопку​ вывод для этой​На вкладке​Щелкните элемент​ связей​ будут одинаковыми.​Спасибо всем кто​ Может просто не​ в книге, в​: Можно это сделать​ и “9”, помещая​

​ пишите из какого​​ любом месте таблицы​ области для размещения​ таблицы, если она​Этот параметр применяется только​Обновление данных из внешнего​Обновить​ книги в будущем.​

​Главная​​Разорвать​.​Откройте книгу, содержащую связи.​
​ откликнулся!​
​ могу сообразить чего-то.​
​ другой открытой книги,​​ макросом​
​ перед ними символ​ офиса ексель )))​ левой кнопкой мыши.​ данных из исходного​ отвечает следующим параметрам:​ к сводным таблицам.​
​ источника данных​. Это позволит гарантировать​

excelworld.ru

​Не отображать запрос и​

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2013 Еще…Меньше

Вы можете в любой момент нажать кнопку Обновить, чтобы обновить данные в сводных таблицах в книге. Вы можете обновить данные для сводных таблиц, импортированных из Power Query, таких как база данных (SQL Server, Oracle, Access и т. д.), куб служб Analysis Services, веб-канал данных и многие другие источники. Можно также обновить данные из таблицы Excel,которая автоматически включает все изменения внешнего источника данных.

По умолчанию сводные таблицы не обновляются автоматически, но можно указать, что сводная таблица автоматически обновляется при открытии книги, содержащего сводную таблицу.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

    Изображение ленты Excel

    Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».

  3. Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.

  1. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  2. На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

  1. Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

    Работа со сводными таблицами

  2. На вкладке Анализ нажмите кнопку Параметры.

    Кнопка "Параметры" на вкладке "Анализ"

  3. На вкладке « Данные» проверьте данные обновления при открытии файла .

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Большой диапазон данных в таблице Excel рационально представить в виде сводного отчета. Структура данного инструмента позволяет получить быстрый доступ к итогам, информации по определенному параметру. Рассмотрим создание и обновление сводных таблиц.

О целесообразности и возможности сводных таблиц

Оптимально формировать сводный отчет на основе исходной таблицы, если она отвечает следующим параметрам:

  • содержится несколько сотен строк;
  • пользователю нужно представлять одни и те же данные в разных разрезах, выбирать информацию по заданному условию, группировать, а встроенный фильтр и группировка справляются плохо.

Требования к исходной таблице:

  • у каждого столбца есть заголовок (первый вариант – неправильный; второй – правильный);
  • Заголовки.

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

Нерациональная организация информации:

Информация.

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

Рационально.

Лучше значения ввести следующим таким образом.



Как сделать сводную таблицу в Excel

Чтобы создать сводную таблицу в качестве исходного диапазона возьмем каталог учебной литературы:

Каталог.

Подразумевается, что данная таблица состоит из сотен строк. Создадим сводный отчет для выведения списка книг из конкретной категории или определенного года. Задача сформулирована – перейдем к реализации.

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

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

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

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

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

  11. Теперь ставим птичку напротив поля «Год выпуска».

Год выпуска.

Сводная таблица сделана. С помощью нескольких кликов. Такой способ представления информации удобен для финансовых отчетов.

Как обновить сводную таблицу в Excel

От сводной таблицы больше пользы, если она динамическая. То есть при внесении новых данных в исходный диапазон поля отчета можно обновить. Как это сделать?

Вручную:

  1. Когда данные внесены в исходную таблицу, переходим на лист со сводным отчетом и щелкаем в любом его месте правой кнопкой мыши. В открывшемся меню выбираем «Обновить».
  2. Обновить.

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

  5. Выделить сводную таблицу или отдельное поле, нажать сочетание клавиш Alt + F5.

Как настроить автоматическое обновление сводной таблицы в Excel:

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

  4. В открывшемся меню «Параметры сводной таблицы» нажать кнопку «Разметка и формат». Поставить галочки напротив следующих пунктов:

Пункты.

Закрыть окно, нажав кнопку ОК.

Еще один вариант:

  1. Открыть лист со сводным отчетом. На вкладке «Разработчик» нажать кнопку «Запись макроса».
  2. Выполнить вручную обновление сводной таблицы – остановить запись. Нажать на кнопку «Макросы». Выбрать из доступных макросов записанный – «выполнить».

Теперь сводный отчет при открытии будет обновляться программно.

My workaround is to record a Macro in the Excel file (so you have to use .xlsm file extension) (first you will need to go to Programs >> Windows Powershell and type at prompt Set-ExecutionPolicy RemoteSigned to allow the script to run) :

Sub AutoUpdate()
'
' AutoUpdate Macro
' data refresh from MSQuery connection

'
    Sheets("Feuill1").Select
    Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
End Sub

Then I use a Powershell script that does the trick by : opening the Excel file, calling the macro, save and close the file.
In this example I make a copy of the original file for security/backup purpose, but of course you could save the original file itself.

$objectExcel = new-object -c excel.application
$objectExcel.displayAlerts = $false # don't prompt the user
#$objectExcel.visible = $True;
$Classeur = $objectExcel.workbooks.open("source_filepath", $null, $true)
$objectExcel.run("AutoUpdate")
# $objectExcel.run("RemoveODBC") # another custom macro for removing data connexion
$Classeur.saveas("destination_filepath")
$Classeur.close($false)
#$objectExcel.visible = $False;
$objectExcel.quit()
spps -n excel

So my Excel report is refreshed on a daily basis, without any manual intervention, by a Windows Planified task that called the above script.

Время на прочтение
13 мин

Количество просмотров 10K

Всем привет! На связи Максим и я продолжаю описывать свой университетский опыт работы VBA программистом с Excel. В сегодняшней статье поговорим о том, как можно произвести изменения в десятках, сотнях, миллионах Excel файлов за один заход с помощью одного макроса и как этот концепт может сэкономить вам кучу времени, сил и средств. Данная статья будет полезна тем, кто вынужден часто совершать одинаковые изменения в большом количестве подобных друг другу Excel файлах, тем, кто устал от рутины и хочет автоматизировать процесс обновления рабочих документов или молодым студентам, которые находятся в поисках идей того, как можно выделится своими скиллами на рабочем месте. Бонусом внутри вы найдете пару моих рассуждений на тему дискуссий, которые возникли под моей прошлой статьей (если еще не читали ее, то советую ознакомиться, чтобы лучше понимать фон этой), а именно на тему актуальности Excel и VBA в европейских реалиях и общего уровня диджитализации на немецком рынке. Погнали!

Первым делом я бы хотел украсть минутку вашего времени, чтобы поблагодарить вас всех за активность на моей первой статье. Всего за 2 недели статья набрала 41 тысячу просмотров и стала, если я ничего не упустил, самой просматриваемой статьей на тему VBA на сайте! Это просто фантастика! Стоит признаться, что статья была написана часа за полтора в сонное и ленивое послеобеденное время жаркого летнего дня с целью поделиться с той кучкой людей, которые все-таки откопает ее в песочнице, своим небольшим опытом, а может даже помочь подзаработать копеечку, подкинув интересную на мой взгляд идею заработка. Но под статьей началась очень активная и интересная дискуссия, которая не прекращалась несколько дней. Я перечитал все комменты и был очень рад увидеть, что некоторые люди действительно заинтересовались темой и просили детальнее описать мой опыт программирования на VBA. Как я и обещал, я подготовлю небольшую серию статей, каждая из которых опишет реальные кейсы, с которыми я работал. Я постараюсь как можно проще и понятнее описать, какие практики реально полезные, а какие стоит избегать всеми возможными путями. Не буду больше тянуть, всем еще раз спасибо, теперь точно погнали!

Итак, первая профильная статья должна быть о чем-то, что сыграло в моей короткой карьере весомую роль. Поэтому я решил описать свой первый самостоятельный рабочий проект, успешное закрытие которого принесло мне продление рабочего контракта и изменило мою репутацию внутри отдела с «Какой-то малолетка, приходящий 2 раза в неделю и делающий все, что нам лень» на «Какой-то малолетка, приходящий 2 раза в неделю и делающий все, что нам лень, умеющий делать макросы». В первой статье, я вскользь описал свой отдел, а именно то, что из-за длинной очереди на автоматизацию с помощью стороннего софта, он был вынужден заниматься ею самостоятельно с помощью End-User Computing, облегчая себе жизнь Excel макросами на VBA.

Хочу оспорить мнение некоторых людей из комментариев под прошлым постом, кто говорит, что Excel уже прошлый век и нигде используется, а моя фирма это просто исключение.  Ребята, я не зря много раз подчеркивал, что речь идет о рынке, вероятно, самой консервативной страны Европы – Германии. Чтобы коротко описать состояние местного рынка я расскажу вам короткую, но забавную историю. Я недавно проходил собеседование на должность практиканта в одну из крупнейших страховых фирм страны, а точнее в их дочернюю компанию занимающейся диджитализацией страховой и IT задачами в целом. Незадолго до собеседования мне пришел E-Mail от отдела кадров с общей информацией о предстоящем разговоре и рекомендацией о том, что неплохо было бы получше ознакомиться с самой фирмой на их сайте. Я открыл отправленную ими ссылку и предо мной открылась новостная лента этой компании. В закрепе висела статья с топовым названием: «Мы уходим от использования факса!» и фотография главы страховой с очень-очень довольным лицом. Извините, но я в свои 22 года не знаю даже как факсом пользоваться. А он оказывается до сих пор активно используется в немецких страховых фирмах… Факс — это вообще тема тут популярная, что вызывает у меня дикий восторг и истеричный смех. Особенно когда идешь с лекции на тему диджитализации, заходишь в приемную к врачу, а тебе там предлагают отправить твою справку о больничном напрямую работодателю по факсу и спрашивают номер. E-mail пока не освоили. Сразу воодушевляешься и начинаешь представлять как когда вырастешь и станешь взрослым, будешь проводить свои лучшие годы избавляя компании от использования факса в 20’х годах 21 века. Во время самого собеседования разговор, кстати, тоже прошел в интересном ключе. Глава IT отдела резко остановил меня после того, как я сказал, что заинтересован в 4-5 месячном практикуме и сказал, что ему нужен практикант минимум на 2-3 года, так как первые полтора уйдут на ознакомление с ландшафтом всех используемых систем, общее количество которых достигло 250. Ну накопилось за 30 лет, с кем не бывает.

Это я не о том, что тут люди копьями себе еду добывают и шкуры животных носят, я лишь о том, что современные технологии в местных фирмах внедряются очень и очень медленно, поэтому Excel это реально рабочая машинка номер 1 для абсолютного большинства как маленьких, так и больших компаний. Этому виной много факторов: очень жесткое и консервативное законодательство, требующее максимальную безопасность данных, банальное нежелание менять то, что десятилетиями работает и так далее и тому подобное. В государственных учреждениях, если я не ошибаюсь, чисто с юридической стороны вопроса разрешено использовать только офисный пакет от Microsoft, даже переход на версию 365 предвидеться лишь в обозримом будущем. В долгосрочной же перспективе все государственные фирмы планируют пересадить на офисный пакет от местного производителя (который еще пока не разработан), чтобы убрать зависимость от американского софта. Короче вы поняли. Все достаточно плохо. Рукастые ребята, которые хотят и могут сделать по-модному и современному часто сталкиваются с нежеланием и страхом руководства что-то менять. У меня не получилось уговорить даже бесплатную версию Asana внедрить в отдел, а вы говорите про современные облачные решения для работы с данными. Лет через 15 может, торопиться некуда, Excel не подведет.

Но я что-то отошел от темы. Итак, мой первый проект после прихода на должность VBAшника. Этот кейс является хорошим примером корректного использования VBA внутри отдела. Успешная его реализация сэкономила нам много человеко-часов и нервов, плюс дала важный опыт в автоматизации процесса обновления документов внутри отдела.

Важнейшим компонентом нашего отдела является калькуляция. Не углубляясь в бэкграунд, стоит просто сказать, что мой отдел занимается контролем состояния проектов, которых в лучшие времена было около сотни одновременно. Средняя длительность проекта от 5 до 8 лет. По его началу для него создается калькуляция. Она построена на базе единого шаблона, который часто обновляется, и ведется на протяжении всего проекта, вплоть до его окончания. То есть при создании проекта наиболее актуальной версией шаблона может быть, скажем, v. 1.2, а в момент окончания проекта стандартом будет уже v. 1.8. Обновления происходят примерно раз в полгода.

Интересный момент наступает в момент перехода к новому шаблону. Так, новые проекты, которые создаться после внедрения новой версии шаблона будут созданы уже на базе самой актуальной версии. А вот что делать с теми калькуляциями, которые были созданы ранее? Вариант с созданием их заново на базе наиболее актуальной версии шаблона сразу отпадает, так как каждая калькуляция чуть-чуть да индивидуальна и за время проекта обрастает своими дополнительными вспомогательными листами, комментариями и т.д. Было бы глупо заставлять работников отдела каждые полгода начинать вести все их калькуляции заново. Вариант с ручным обновлением кажется уже более реальным решением. Скажем, обновление включает в себя всего 10 мелочей, цвет фона поменять, да формулу обновить. Ну сколько тогда понадобиться времени на обновление? Минут так 10. 10 минут умножить на 100 файлов, получается 1000 минут или 16 с половиной часов, часов 18 вместе с перерывами на кофе. После увеличения минимальной почасовой заработной платы, а она в Германии особо важна для студентов, так как их труд оплачиваться почасово, средняя зарплата студента ITшника будет порядка 15-17 евро в час. То есть процесс обновления 100 файлов будет стоить фирме: 18 часов работы студента умножить на его зарплату в 15 евро в час – 270 евро. Студент на эти деньги сможет целый месяц очень хорошо питаться, а фирма этой затраты в принципе даже не почувствует.

Но что делать, если обновление большое? Скажем, в моем первом проекте в калькуляцию было привнесено около 120 новых изменений. Начиная от замены старых формул на новые и заканчивая полными изменением форматирования целых листов. Давайте повторно рассмотрим все варианты. Вариант с тем, чтобы просто пересоздать все старые калькуляции на базе нового шаблона до сих пор отпадает, работники не желают этим заниматься, а для студента, не имеющего профильные знания в этой среде, задача тяжелая. Обновление вручную? Давайте посчитаем. Возьмем за стандарт, как и в первом примере, что 1 изменение занимает 1 минуту. 120 обновлений в файле – примерно 2 часа на обновление одного документа. Обновление ста документов займет 200 часов, или при средней студенческой выработке в 16 часов в неделю – чуть более 3 месяцев. За эти 3 месяца фантастически увлекательной работы студент получит 3000 евро, это уже более болезненно для фирмы. Учитывайте дополнительно еще то, что студент реально будет 3 месяца просто обновлять калькуляции, в других сферах от него толку не будет. Для других задач нужно либо нанимать другого студента, либо все остальные поручения перекладывать на штатных сотрудников. Плюсом еще и то, что у студентов далеко не всегда все идет гладко и процесс может затянуться еще на пару недель. К тому времени подъедет и новое обновление, а должность студента можно будет официально переименовывать в «специалист по обновлению калькуляций», так как он рискует больше ничем особо и не заниматься. Знаете, что самое ужасное? Они реально так делали… Один из моих предшественников попал на более мелкий апдейт и месяца полтора провел за этим увлекательным занятием.

Какая общая логика процесса? Вместе с каждым обновлением калькуляции я получаю полный и четкий список требуемых обновлений. Например: Лист «ABC», ячейка «A1», новая формула «=СУММ(B1:B3)». То есть я могу быть уверенным, что какую бы калькуляцию я не открыл, там гарантировано будет лист ABC и именно в этом листе в ячейке A1 требуется произвести необходимое обновление. Изменения могут быть разные, какие-то проще, какие-то сложнее. Но стоит признать, что как правило в подобного рода обновлениях речь идет о базовых изменениях по типу замены формул, текста, оформления и строения таблиц. Реже речь заходит о более сложных вещах: обновление условного форматирования, работа с графиками и сводными таблицами.

Открывать файл за файлом и делать все вручную дико скучно, долго и не очень удобно. Плюс есть достаточно большой риск накосячить и даже того не заметив сделать какое-то из 120 изменений неправильно.

Нет, ну я же не зря в универе учу как избавлять людей от факсов, нужно альтернативное решение. И оно достаточно интересное. Файлы Excel можно очень удобно обновлять с помощью других файлов Excel. Хотя правильнее было бы сказать, с помощью макроса для обновления, который будет лежать в другом файле Excel. То есть можно создать своего рода файл-обновитель, внутри которого прописать полный алгоритм для совершения необходимых изменений в выбранном файле, а после использовать этот обновитель для обновления других Excel файлов. Пока не очень понятно? Сейчас поясню подробнее!

Я и далее буду использовать только что мной выдуманное слово «обновитель», так как оно мне понравилось. Общий сценарий использования макроса выглядит следующим образом:

  1. Пользователь открывает Excel файл обновитель.

  2. Обновитель спрашивает пользователя о том, какие именно файлы он хотел бы обновить.

  3. Обновитель открывает файл и совершает в нем требуемые изменения.

  4. Обновитель сохраняет измененный файл, закрывает его и переходит к следующему файлу.

  5. После успешного обновления всех файлов обновитель отчитывается пользователю, что процесс обновления выбранных файлов завершен.

  6. Пользователь закрывает обновитель и продолжает работу с обновленными файлами.

Вот и вся идея. Не так уж и сложно, да? Тогда посмотрим, как это выглядит в VBA. Для простоты давайте представим, что нам нужно обновить всего 1 файл и мы заранее знаем путь, где он лежит.

Сначала создаем наш файл обновитель, где будет прописан алгоритм обновления для файлов. Создаем новый VBA модуль и начинаем творить. Для начала создадим пару важных переменных:

Dim sourceFile As Workbook: Set sourceFile = ThisWorkbook ‘Создаем переменную, которая будет содержать в себе наш обновитель

Dim fileToUpdate As Workbook: Set fileToUpdate = Workbooks.Open("C:VBAFile To Update.xlsm")  ‘Переменная с файлом, который необходимо обновить

Как мы ранее договорились, для простоты и ясности кода представим, что мы знаем четкий путь к файлу, который нужно обновить и он у нас всего один. На практике такое конечно оооооочень нереалистично. Напомню, нашей целью является обновить 100 документов и желательно за 1 заход! Прикрутив на этом этапе цикл можно избавить пользователя от того, чтобы он каждый раз должен был выбирать файл вручную. Сделать можно, например, так: пользователь добавляет все файлы, которые необходимо обновить, в заранее установленную папку, макрос обновителя открывает эту папку и итерируя через все файлы внутри папки обновляет их, пока не достигнет последнего файла. Способов работы с файлами множество, каждый выбирает тот, который ему по душе, я не буду приводить тут пример кода, который мы использовали в отделе. По своему опыту могу сказать, что вышеописанный вариант, использующий цикл и папку с файлами нами был отмечен как самый удобный и практичный. Сделать такой цикл не сложно и с помощью гугла процесс реализации этого функционала займет минут 30.

Дальнейшая работа будет происходить с переменной fileToUpdate, так как она представляет собой файл, который требуется обновить и через нее можно получить доступ к любой его части. Сам процесс обновления документа достаточно прост. VBA обладает огромным набором инструментов для удобной работы с элементами внутри документа. Я приведу пару простых примеров ниже, чтобы вы поняли саму суть, а дальше каждый уже сам сможет быстро и просто смастерить то, что нужно именно ему. Я скажу вам так, не было за 2 года моей практики такого обновления, которого я не смог бы автоматизировать. Что-то отнимает больше времени, что-то меньше, но все реально.

С самого начала важно активировать файл и лист, в котором необходимо провести обновление.  Это проще всего сделать при помощи метода Activate. Активируем наш обновляемый файл и после этого активируем в нем лист, который требуется обновить:

fileToUpdate.Activate 
fileToUpdate.Sheets(“Old_Sheet”).Activate

Вот мы и готовы обновлять выбранный лист! Нужно изменить формулу в ячейке? Без проблем, но есть важное замечание! Формулы в VBA задаются в совершенно другом формате. Чтобы перевести формулу из привычного Excel формата в синтаксис VBA можно воспользоваться функцией записи макроса. Например, в обновляемом файле вам нужно в ячейку A1 вставить формулу “СУММ(B1:B10)”. В любом Excel файле, включите запись макроса, активируйте ячейку A1 и напишите необходимую вам формулу. После этого остановите запись и откройте среду разработки. В автоматически созданном новом модуле вы увидите интерпретацию этой формулы на языке VBA, а именно:

Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[1]:R[9]C[1])"

Видите, как сильно отличается формат написания формулы? И это еще совсем простенький пример. Иногда нужно подставлять формулы длинной в 1-2 строки, такие никак кроме как через запись макроса в синтаксис VBA не переведешь.

А вот текст в ячейке проще всего изменить с помощью метода Value, давайте добавим какой-нибудь текст в ячейку A2:

Range("A2").Value = "New Text"

Нужно полностью удалить все в заданном диапазоне?

Sheets(“Old_Sheet”).Range("B1:B100").ClearContents	‘Удаление значений
Sheets(“Old_Sheet”).Range("B1:B100").ClearFormats	‘Удаление форматирования

Либо можно сразу ударить абсолютно все с заданного листа:

Sheets(“Old_Sheet”).Cells.ClearContents

Давайте еще добавим новый лист в конец книги и активируем его, чтобы соврешать в нем изменения:

Sheets.Add(After:=Sheets(Sheets.Count)).Name = "New_Sheet"
Sheets("New_Sheet ").Select

Сделаем так, чтобы в новом листе колонка C по умолчанию была в денежном формате:

Worksheets("New_Sheet ").Columns("C:C").Select
Selection.NumberFormat = "#,##0.00 $"

Закончим подготовку нашего нового листа тем, что сделаем все будущие надписи в первой строке по умолчанию жирными:

Worksheets("New_Sheet").Rows(1).Font.Bold = True

В конце защитим его от нежелательных гостей паролем и скроем его от лишних глаз:

ActiveSheet.Protect ("Password")
Sheets("New_Sheet").Visible = False

Разберем также несколько более сложных примеров, например настройку сводных таблиц. Давайте удалим из заданной сводной таблицы с названием dataPivot все настройки строк. Для этого в начале создадим переменную, которой присвоим значение таблицы, настройки которой нужно изменить. После этого с помощью цикла пройдем через все настройки строк таблицы и уберем их:

Dim dataPivot As PivotTable : Set dataPivot = Pivot.PivotTables ( "dataPivot" )

For Each row In dataPivot.RowFields
	row.Orientation = xlHidden
Next row

А теперь добавим новую строку в ту же самую сводную таблицу, которая будет представлять данные из параметра newRow:

dataPivot.PivotFields("newRow").Orientation = xlRowField

А теперь обновим все формулы в документе, чтобы быть уверенными что при следующем открытии файла пользователь увидит уже обновленные значения новых формул:

ActiveWorkbook.RefreshAll

Можно также добавлять новые элементы на страницы, например кнопки:

Sheets("New_Sheet ").Buttons.Add(10,10, 110, 37.5).Select	‘Добавляем кнопку по заданным координатам в заданный лист
Selection.OnAction = "bestMakro" ‘При нажатии на кнопку будет запущен макрос с названием bestMakro
Selection.Characters.Text = "Add a new row" ‘Надпись на кнопке

With Selection.Characters(Start:=1, Length:=9).Font ‘Установка дизайна кнопки
        .Name = "Arial"
        .FontStyle = "Standard"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
End With

Такие операции тоже гораздо удобнее проводить с помощью записи макроса. Просто ставите запись, создаете необходимую кнопку, останавливаете запись и получаете на выходе готовый код.

 После завершения обновления файла его останется лишь сохранить под новым названием и закрыть. Параметр False в методе Close отменяет сохранение файла перед закрытием, таким образом изначальная версия не будет изменена, а версия со всеми изменения будет носить новое имя и сохранена там, где мы укажем.

fileToUpdate.SaveAs "C:VBAUpdated File.xlsm"
fileToUpdate.Close false

Я надеюсь, то маленькое количество примеров, которое я описал дало вам общее понимание того, как работает процесс обновление файлов. Сделать можно почти все что угодно, одним из главных плюсов VBA несомненно является наличие огромного количества старых добрых форумов и сайтов с туториалами, где можно найти код на все случаи жизни.

 Могу сказать, что на написание макроса для обновления всех необходимых документов у меня ушло порядка 8 рабочих дней. Тоже немало, но тогда я еще только учился. Получается, что интеграция более чем 120 обновлений в сотню файлов заняла у студента около 64 часов и стоила фирме 960 евро. Поприятнее будет, чем 3000 евро за ручное обновление.

Разберем кратко главные плюсы такого способа обновления файлов.

Во-первых, — это скорость. Обновления, как правило, аналогичны друг другу, что открывает возможность использовать прекрасный и неповторимый Copy-Paste. Одна и та же функция для изменения формулы:

Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[1]:R[9]C[1])"

Используется множество раз, меняется лишь значение формулы и ячейка. Можно вынести это в отдельную функцию и быстро и красиво вызывать столько раз, сколько нужно по ходу обновления. Таким образом можно здорово ускорить реализацию рутинных шагов и большая часть времени тогда уйдет на всякие специфичные операции, типа вышеприведенного обновления сводной таблицы.

Во-вторых, гарантия того, что все файлы будут правильно и корректно обновлены. Ручное обновление – опасный процесс, в котором велика вероятность человеческой ошибки. Очень уж легко промахнуться и добавить новую формулу в неправильную ячейку или случайно присвоить новому условному форматированию неправильную настройку. Особенно когда обновление включает в себя большое количество шагов. Хорошо протестированный код обновления исключает человеческий фактор и гарантирует, что все файлы после обновления будут в одинаковом состоянии.

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

Что касается минусов, то тут разве что стоит отметить достаточно долгое время выполнения макроса. Операции открытия и закрытия с сохранением тяжелых файлов достаточно ресурсоемкие и поэтому на слабеньких офисных компьютерах могут длиться достаточно долго. О том, как можно сильно ускорить выполнение макросов мы поговорим в следующей статье!

Будьте креативными! Этот способ обновления позволяет жонглировать данными внутри файлов как вам только захочется! Единственные границы – здравый смысл и ваше воображение. Я очень надеюсь, что эта статья сможет облегчить кому-нибудь жизнь так же, как в свое время эти идеи облегчили мою. Буду рад пообщаться с вами в комментах, пишите было ли интересно и информативно, а также о том, что еще вы бы хотели прочитать на тему Excel. Всем спасибо за внимание и до скорого!

 

Ga

Пользователь

Сообщений: 7
Регистрация: 25.10.2021

Добрый день. Подскажите, в какую сторону смотреть?
Есть файл экселя, лежит в одном месте, называется одинаково. Его надо обновлять (актуализировать данные из сторонних источников) и сохранять два раза в день по расписанию.
Хочется автоматизировать.
Какую-нибудь приблуду, которая обновляет файл, а если не получится еще и журнал ошибок выдала или как-нибудь иначе отругалась.

Может кто-то встречал такое? Или в какую сторону рыть?  

 
Вариант 1 БЕСПЛАТНО ПРИ НАЛИЧИИ ЗНАНИЙ

1. Планировщик заданий в винде настраиваете на открытие этого файла в определенное время. (гугл поможет)
2. пишите макрос для файла, с реакцией на открытие и обновление данных(с созданием журнала ошибок, и прочих ваших хотелок) и закрытие файла после обновления с сохранением.

Вариант 2 БЕСПЛАТНО БЕЗ ЗНАНИЙ НО ОЧЕНЬ ТРУДОЗАТРАТНО И ПРИДЁТСЯ ВО ВСЁ ВНИКАТЬ

1. Планировщик заданий в винде настраиваете на открытие этого файла в определенное время. (гугл поможет)
2. если не знаете как всё это написать, разбиваете задачу на большое пунктов, на каждый пункт вашего не понимания 1 вопрос — 1 тема на форуме.

Вариант 3 ПЛАТНО ОСОБО ДУМАТЬ НЕ НАДО

1.Описываем желаемое подробно насколько это получится (Тех задание)
2.Идём сюда

РАБОТА ПЛАТНО

создаём тему, договариваемся с исполнителем.

Изменено: Wild.Godlike14.09.2022 14:00:05

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#3

14.09.2022 13:53:32

Цитата
Ga написал: Или в какую сторону рыть?

Писать подробное ТЗ и размещать в разделе «Работа». Волшебной универсальной кнопки не существует.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Ga

Пользователь

Сообщений: 7
Регистрация: 25.10.2021

#4

14.09.2022 14:24:50

Цитата
написал:
Планировщик заданий в винде настраиваете на открытие этого файла в определенное время. (гугл поможет)

Спасибо за ответ!
Если я правильно поняла, почитав, планировщик именно откроет мне этот файл на компе, мне же надо, что бы все произошло в фоновом режиме. Что бы файл обновлялся самостоятельно. А так это от части хороший вариант, я настрою источники на обновление при открытии файла, но все же придется присутствовать. Как минимум сохранить и закрыть
Макрос внутри файла может работать по расписанию без открытия файла?
Видимо, мне нужно что-то стороннее, что будет открывать файл в фоновом режиме и потом сохранять его через определенное время.  

 

Ga

Пользователь

Сообщений: 7
Регистрация: 25.10.2021

#5

14.09.2022 14:28:55

Цитата
написал:
Писать подробное ТЗ и размещать в разделе «Работа». Волшебной универсальной кнопки не существует.

JayBhagavan, если бы мне выделили бюджет на решение этой задачи, я бы так и поступила.

Сейчас меня скорее интересует есть ли уже готовые решения. Наверняка, это распространенное желание. Ты настроил отчет, но хочешь, что бы он без тебя актуализировался. Как в Power BI.

 

«приблуда», обновляющая файл любой структуры и з неизвестного количества источников неизвестной структуры будет иметь много настроек и должна довольно дорого стоить
а решение, приспособленное к вашим файлам, сохраняющее приемник 2 раза в день по расписанию и ведущее лог. ошибок при обновлении нужно написать
при отсутсвии денег на решение, время то у вас есть?
в зависимости от интереса к этому всему и настойчивости:
мой оптимистичный прогноз — у вас что-то получиться через месяц-два
пессимистический прогноз — может и за год не получиться
удачи!

Изменено: Ігор Гончаренко14.09.2022 15:29:55

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

whateverlover

Пользователь

Сообщений: 435
Регистрация: 15.06.2018

#7

14.09.2022 16:05:13

Ga, у меня что-то такое наколхожено.
Сделал bat’ник с таким кодом и закинул его в планировщик. Каждый день в 5:30, он открывает мой файл, делает свои дела, сохраняет, закрывает.

Код
Call Run_macros

'запуск макроса'
Sub Run_macros()
   'запускаем Excel-процесс
   set objExcel = CreateObject ("Excel.Application")
   objExcel.Visible = true    
   Op_writ="Путь к файлу и имя файла"
   objExcel.Workbooks.Open (Op_writ)
   'запуск макроса
   objExcel.run "UpdateAll" 
   'по завершению закрываем документ. Пишем только имя файла, без пути
   objExcel.Workbooks("^_^.xlsm").Save
    objExcel.Workbooks("^_^.xlsm").Close(false)
   'закрываем Excel-процесс
    objExcel.Quit
end sub

Но надо понимать, что в Вашем случае значит «обновить файл». У меня за это отвечает макрос, который находится в файле. Я его и запускаю objExcel.run «UpdateAll».
Т.е. сложности открыть файл и закрыть по расписанию нет. Вам надо автоматизировать «обновление».

Изменено: whateverlover14.09.2022 16:09:08

 

Ga

Пользователь

Сообщений: 7
Регистрация: 25.10.2021

#8

14.09.2022 16:19:50

Цитата
написал:
Ga, у меня что-то такое наколхожено.
Сделал bat’ник с таким кодом и закинул его в планировщик. Каждый день в 5:30, он открывает мой файл, делает свои дела, сохраняет, закрывает.

Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17      Call   Run_macros       'запуск макроса'    Sub   Run_macros()         'запускаем Excel-процесс         set objExcel = CreateObject (  "Excel.Application"  )         objExcel.Visible = true             Op_writ=  "Путь к файлу и имя файла"         objExcel.Workbooks.Open (Op_writ)         'запуск макроса         objExcel.run   "UpdateAll"         'по завершению закрываем документ. Пишем только имя файла, без пути         objExcel.Workbooks(  "^_^.xlsm"  ).Save          objExcel.Workbooks(  "^_^.xlsm"  ).Close(false)         'закрываем Excel-процесс          objExcel.Quit    end sub   

 
Но надо понимать, что в Вашем случае значит «обновить файл». У меня за это отвечает макрос, который находится в файле. Я его и запускаю objExcel.run «UpdateAll».
Т.е. сложности открыть файл и закрыть по расписанию нет. Вам надо автоматизировать «обновление».

Большое спасибо, с этим уже можно что-то делать! Мне надо просто «нажать «обновить все»», думаю, что найду как.

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

#9

14.09.2022 16:57:16

Цитата
Ga написал:
Мне надо просто «нажать «обновить все»»,
Код
ActiveWorkbook.RefreshAll
 

Ga

Пользователь

Сообщений: 7
Регистрация: 25.10.2021

#10

14.09.2022 17:49:59

Цитата
написал:

Цитата
Ga написал:
Мне надо просто «нажать «обновить все»»,

 

Код
    [URL=#]?[/URL]       1      ActiveWorkbook.RefreshAll   

 

Супер! Большое спасибо!

 

Михаил Л

Пользователь

Сообщений: 2640
Регистрация: 19.02.2020

#11

14.09.2022 18:06:49

Прием

НА МЯСО В ПРОФИЛЕ

Обновление данных в сводной таблице

Вы можете в любой момент нажать кнопку Обновить, чтобы обновить данные в сводных таблицах в книге. Можно обновлять значения в сводных таблицах, подключенных к внешним данным, таким как базы данных (SQL Server, Oracle, Access и другие), куб служб Analysis Services, веб-каналы данных и многие другие источники. Вы также можете обновлять данные из исходной таблицы в той же или другой книге. Кроме того, можно настроить автоматическое обновление данных сводной таблицы при открытии книги.

По умолчанию сводные таблицы не обновляются автоматически, но вы можете указать, чтобы сводная таблица автоматически обновлялась при открытии книги, содержащей сводную таблицу.

Обновление вручную

Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.

Совет: Чтобы одновременно обновить все сводные таблицы в книге, нажмите кнопку анализ > Обновить все.

Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Блокировка изменения ширины столбцов и форматирования ячеек

Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.

На вкладке Анализ нажмите кнопку Параметры.

На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

Автоматическое обновление данных при открытии книги

Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.

На вкладке Анализ нажмите кнопку Параметры.

На вкладке » данные » установите флажок Обновить данные при открытии файла .

Обновление вручную

Щелкните в любом месте сводной таблицы.

Откроется окно » работасо сводными таблицами» с дополнительными параметрами и вкладкой » конструктор «.

На вкладке Параметры в группе данные выполните одно из указанных ниже действий.

Чтобы обновить данные в соответствии с источником данных, нажмите кнопку Обновить или нажмите клавиши Alt + F5.

Вы также можете щелкнуть сводную таблицу правой кнопкой мыши и выбрать команду Обновить.

Чтобы обновить все сводные таблицы в книге, нажмите кнопку » Обновить «, а затем выберите команду » Обновить все«.

Если обновление занимает больше времени, чем ожидалось, нажмите кнопку параметры > Обновить > Обновить состояние , чтобы проверить состояние обновления.

Чтобы отменить обновление, нажмите Отменить обновление.

Блокировка изменения ширины столбцов и форматирования ячеек

Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.

Нажмите кнопку параметры > Параметры.

На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.

Автоматическое обновление данных сводной таблицы при открытии книги

Щелкните в любом месте сводной таблицы.

На вкладке Параметры в группе Сводная таблица нажмите кнопку Параметры.

В диалоговом окне » Параметры сводной таблицы » на вкладке » данные » установите флажок обновлять данные при открытии файла .

При добавлении новых данных в источник необходимо обновить все основанные на нем сводные таблицы. Чтобы обновить сводную таблицу, можно щелкнуть правой кнопкой мыши в любом месте ее диапазона и выбрать команду Обновить

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Обновление данных в сводных таблицах Excel

Большой диапазон данных в таблице Excel рационально представить в виде сводного отчета. Структура данного инструмента позволяет получить быстрый доступ к итогам, информации по определенному параметру. Рассмотрим создание и обновление сводных таблиц.

О целесообразности и возможности сводных таблиц

Оптимально формировать сводный отчет на основе исходной таблицы, если она отвечает следующим параметрам:

  • содержится несколько сотен строк;
  • пользователю нужно представлять одни и те же данные в разных разрезах, выбирать информацию по заданному условию, группировать, а встроенный фильтр и группировка справляются плохо.

Требования к исходной таблице:

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

Нерациональная организация информации:

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

Лучше значения ввести следующим таким образом.

Как сделать сводную таблицу в Excel

Чтобы создать сводную таблицу в качестве исходного диапазона возьмем каталог учебной литературы:

Подразумевается, что данная таблица состоит из сотен строк. Создадим сводный отчет для выведения списка книг из конкретной категории или определенного года. Задача сформулирована – перейдем к реализации.

  1. Активизируем любую ячейку в исходном диапазоне – щелкаем мышкой. Переходим на вкладку «Вставка» — «Таблица». Нажимаем кнопку «Сводная таблица».
  2. Автоматически выделяется весь диапазон. Открывается диалоговое окно инструмента. Необходимо проверить правильность параметров для отчета (диапазон, куда выводить сводную таблицу).
  3. Открывается окно для построения отчета, список полей. В правой нижней части страницы – области для размещения данных из исходного диапазона.
  4. Области позволяют сформировать структуру сводного отчета.
  5. Сначала заполним «Названия строк». Так как нужно вывести список книг по годам, то в этом разделе должен быть перечень названий книг. В списке полей ставим птичку напротив поля «Название». Данные столбца имеют текстовый формат – автоматически попадают в область «Названия строк». К значениям сразу применяется сортировка по алфавиту.
  6. Теперь ставим птичку напротив поля «Год выпуска».

Сводная таблица сделана. С помощью нескольких кликов. Такой способ представления информации удобен для финансовых отчетов.

Как обновить сводную таблицу в Excel

От сводной таблицы больше пользы, если она динамическая. То есть при внесении новых данных в исходный диапазон поля отчета можно обновить. Как это сделать?

  1. Когда данные внесены в исходную таблицу, переходим на лист со сводным отчетом и щелкаем в любом его месте правой кнопкой мыши. В открывшемся меню выбираем «Обновить».
  2. Активизируем нужное поле сводного отчета – становится доступен инструмент «Работа со сводными таблицами». Открываем вкладку «Параметры». В группе «Данные» нажимаем кнопку «Обновить».
  3. Выделить сводную таблицу или отдельное поле, нажать сочетание клавиш Alt + F5.

Как настроить автоматическое обновление сводной таблицы в Excel:

  1. Открыть лист со сводным отчетом. Щелкнуть в любом месте таблицы левой кнопкой мыши. Это нужно для того, чтобы активизировалась «Работа со сводными таблицами».
  2. На вкладке «Параметры» находим группу «Сводная таблица». Нажимаем – открывается меню кнопки. Выбираем пункт «Параметры».
  3. В открывшемся меню «Параметры сводной таблицы» нажать кнопку «Разметка и формат». Поставить галочки напротив следующих пунктов:

Закрыть окно, нажав кнопку ОК.

Еще один вариант:

  1. Открыть лист со сводным отчетом. На вкладке «Разработчик» нажать кнопку «Запись макроса».
  2. Выполнить вручную обновление сводной таблицы – остановить запись. Нажать на кнопку «Макросы». Выбрать из доступных макросов записанный – «выполнить».

Теперь сводный отчет при открытии будет обновляться программно.

Автообновляемая сводная таблица

Многие, кто работал со сводными таблицами наверняка знают, что при изменении значений в исходных данных(данные, на основании которых создана сводная) сама сводная таблица при этом не обновляется. Чтобы обновить надо проделать еще пару манипуляций:

    Выделить любую ячейку сводной таблицы→Правая кнопка мыши→Обновить (Refresh) или вкладка Данные (Data) →Обновить все (Refresh all) →Обновить (Refresh)

Однако, если в конец исходных данных добавить строку(или несколько), то с большой долей вероятности даже обновление сводной таблицы не поможет — добавленная строка не появится в сводной. И чтобы её увидеть необходимо будет изменить источник данных для сводной таблицы, включив новую строку в диапазон. Не очень удобно, не правда ли? Чтобы добиться расширения диапазона исходных данных автоматически вместе с добавлением туда данных, лучше позаботиться об этом до создания сводной таблицы.

Недоавтообновление
Почему «недо» — жать кнопку Обновить все же придется. Но не отчаивайтесь — читайте до конца и мы научимся обновлять все автоматом.
Для счастливых обладателей Excel 2007 и старше есть простой способ без лишних телодвижений. Это встроенный инструмент Таблица (Table) . Его еще иначе называют «умная таблица» и я тоже буду применять этот термин, чтобы не было путаницы.
Умная таблица — это специальный объект, который представляет собой правильную таблицу с заголовками, которая расширяется по мере добавления в неё данных. В ней много еще чего полезного, но нас интересует сейчас именно то, что она расширяется сама по мере добавления данных и что на её основе можно создать сводную таблицу. В нашем случае она будет играть роль динамического именованного диапазона(стандартный именованный диапазон не может быть источником данных для сводной таблицы, поэтому и приходится идти другими путями). Чтобы создать такую таблицу необходимо:

К выбранному диапазону автоматически будет применено форматирование как таблицы, используемое по умолчанию. На это можно не обращать внимания, т.к. для наших целей это по большому счету не важно.

    Если вдруг захочется и здесь навести красоту, то это тоже делается довольно легко:
    Выделяем любую ячейку в этой таблице-переходим на вкладку Работа с таблицами (Table tools)Конструктор (Desigh)Стили таблиц (Table styles) . Можно выбрать один из предлагаемых там вариантов и применить. Если ни один из вариантов не подходит — создаем свой. Раскрываем список стилей и выбираем Создать стиль таблицы (New table style. )

А дальше все как привыкли:

  1. Выделить любую ячейку исходной таблицы(теперь уже «умной»)
  2. Вкладка Вставка (Insert) -группа Таблица (Table) -Сводная таблица (PivotTable)
  3. В диалоговом окне Создание сводной таблицы (Create PivotTable) в пункте Выбрать таблицу или диапазон (Select a table or range) в поле Таблица или диапазон (Range/Table) будет автоматически указан не адрес какого-то диапазона, а имя созданной умной таблицы:

    Далее надо определить место размещения Сводной таблицы:
  • На новый лист (New Worksheet)
  • На существующий лист (Existing Worksheet)
  • нажать OK
  • Готово. Теперь при добавлении строк в эту таблицу для их отображения в сводной достаточно будет лишь обновить сводную таблицу как привыкли. Правда, тут тоже есть нюанс — добавлять строки надо правильно. Можно вбить данные в любую ячейку первой пустой строки таблицы — таблица автоматом расшириться, добавив еще одну строку. Теперь туда можно скопировать нужные данные или добить вручную. Если надо вставить сразу несколько строк — в правом нижнем углу последней строки умной таблицы есть слегка выделяющийся уголочек, который надо ухватить мышью и растянуть на нужное кол-во строк/столбцов.
    Если мы просто скопируем строки ниже таблицы, то она не расширится. Это надо учитывать.

    Если необходимо настроить на авторасширение уже созданную сводную , то порядок почти такой же, только сводную таблицу создавать не надо. Преобразуем исходные данные в умную таблицу, переходим на лист со сводной таблицей. Выделяем любую ячейку в сводной таблице, переходим на динамическую вкладку Работа со сводными таблицами (PivotTable Tools)Параметры (Options) -группа кнопок Даныне (Data)Источник данных (Change data Source) . В появившемся окне в поле Таблица или диапазон (Table/Range) указываем либо ссылку на всю умную таблицу, либо имя нашей умной таблицы(если знаете где его подсмотреть). На что здесь следует обратить внимание: если указывался диапазон, то если он указан верно — в поле вместо адреса ячеек будет отображено имя умной таблицы:

    Если же после указания видите именно диапазон — значит что-то указано неверно или таблица не является умной(возможно, форматирование от умной таблицы, но сама умная таблица была удалена).

    Полное автообновление
    Для полного счастья можно подключить работу макросов. Что я хочу? Я хочу, чтобы как только я изменил/добавил данные в исходные данные — сводная тут же обновилась. Для этого надо сделать следующее:

    1. убеждаемся, что макросы разрешены(Почему не работает макрос?, Что такое макрос и где его искать?)
    2. перейти на лист исходных данных(в моем случае лист так и называется — Исходные данные)
    3. жмем на ярлычке этого листа правой кнопкой мыши —Исходный текст (View code) :
    4. вставляем туда следующий код:

    Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) ‘проверяем — изменения внутри умной таблицы или нет If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then ‘если внутри таблицы, то обновляем сводную таблицу на листе «Автообновляемая сводная» Sheets(«Автообновляемая сводная»).PivotTables(1).RefreshTable ‘для всех сводных на листе ‘ Dim pt As PivotTable ‘ For Each pt In Sheets(«Автообновляемая сводная»).PivotTables ‘ pt.RefreshTable ‘ Next End If End Sub

    Все, теперь при любом изменении внутри исходных данных(будь это добавление/удаление строк или просто изменение значений внутри таблицы) сводная таблица обновиться без занудных действий вроде выделения сводной и жмахания кнопки Обновить.
    Пара важных комментариев к коду:

    • Sheets(«Автообновляемая сводная») — здесь Автообновляемая сводная это имя листа, на котором расположена сводная таблица. Это очень важно. Если будет указано неверное имя листа — код выдаст ошибку и никакого обновления, конечно же, не произойдет
    • код сделан таким образом, что на листе исходных данных должна быть только одна умная таблица. Нет, их может быть несколько, но код будет ориентироваться исключительно на первую. И если вы плохо знакомы с принципами создания объектов — то лучше не рисковать. Хотя и здесь можно выйти из положения. Если вы знаете имя своей умной таблицы(его можно подсмотреть на вкладке Конструктор -группа Свойства), то можно изменить код так:
      вместо строки
      If Not Intersect(Target, Target.Parent.ListObjects( 1 ).Range) Is Nothing Then
      записать такую
      If Not Intersect(Target, Target.Parent.ListObjects( «Таблица1» ).Range) Is Nothing Then
      где Таблица1 — имя вашей умной таблицы, на основании которой создана сводная.
    • тот же нюанс с листом самой сводной — код ориентирован так, что обновляет только первую сводную на листе Автообновляемая сводная . Здесь так же можно заменить цифру 1 на имя сводной(например .PivotTables(«СводнаяТаблица1»).RefreshTable ), либо же сделать обновление всех сводных. Для этого надо раскомментировать блок ‘для всех сводных на листе (убрать апострофы перед строками) и убрать строку с именем листа, чтобы получилось так:

    Private Sub Worksheet_Change(ByVal Target As Range) ‘проверяем — изменения внутри умной таблицы или нет If Not Intersect(Target, Target.Parent.ListObjects(1).Range) Is Nothing Then ‘если внутри таблицы, то обновляем все сводные на листе «Автообновляемая сводная» Dim pt As PivotTable For Each pt In Sheets(«Автообновляемая сводная»).PivotTables pt.RefreshTable Next End If End Sub

    но этот вариант удобен лишь в том случае, если на данных одной умной таблицы созданы различные сводные таблицы для отображения некоей динамики в различных проекциях.

    P.S. Так же можно использовать и иной подход — вставить в модуль листа Автообновляемая сводная такой код:

    Private Sub Worksheet_Activate() Me.PivotTables(1).RefreshTable End Sub

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

    Скачать файл с автообновляемой сводной таблицей:

    Tips_PT_AutoRefreshPT.xlsm (46,5 KiB, 1 388 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск по меткам

    Здравствуйте! Я в Excel мало что понимаю, прошу просто помочь.Это вроде моя тема.Книга,в ней 2 листа. Надо сделать так чтобы при изменение(обновление) листа 1, в лист 2(АВТОМАТИЧЕСКИ) копировались данные из определённой колонки(ячейки) листа 1.

    Напишите в форум , т.к. к сводным это вообще отношения не имеет. Плюс описанная задача не так-то просто решается, нужно писать обработку событий листа на VBA.

    Добрый вечер. Попыталась использовать ваш код для автообновления сводной, но на листе исходных данных у меня уже есть иной код с именем
    Private Sub Worksheet_Change(ByVal Target As Range), и макрос выдает ошибку:
    Compile error:
    Аmbiguous name detected:Worksheet_Chenge
    Подскажите пожалуйста, как можно корректно изменить имя.

    Спасибо,разобралась сама) Все отлично работает

    Как обновить данные в сводной таблице excel

    Здравствуйте уважаемые Гуру!
    Прошу помощи, возобновить в памяти, как заставить сводную таблицу автоматически обновлять в ней данные после ввода дополнительных, новых данных.
    или я что то путаю, такое не возможно?

    Возможно, но макросом.
    Если им (макросом) подойдет, то нужен пример Вашего файла. Желательно с реальным (можно усеченным по вертикали) расположением (сами данные можно заменить на произвольные) данных и реальной сводной по этим данным.

    И сразу вопросы:
    В файле одна сводная таблица или несколько?
    На листе со сводной одна сводная?
    Если в файле несколько сводных, то обновлять нужно только одну или все?
    Есть ли в файле какие-то иные подключения к данным?
    Как часто будут меняться данные?
    Сводная на отдельном листе или на том, где данные для нее?

    ===============
    Добавлено
    То, что в посте выше написано, я бы использовать не стал — сводная будет обновляться на любое изменение листа. Боюсь, что Excelю это не понравится. Именно поэтому я и задавал свои вопросы

    Зависит от исходника, я с вами полностью согласен, но если на листе только таблица с данными по которой построена сводная и нужно обновлять определенную сводную на другом листе. Не вижу причин, что бы это не использовать

    [/vba]протупил, согласен. Хотя это в любом случае не будет лишним

    1. Если сводная на другом листе. Вы в исходной таблице вручную поменяли или добавили 100 ячеек. У Вас 100 раз обновилась сводная. Не лучше ли повесить обновление сводной на активацию того листа, на котором эта сводная находится? В этом случае могут быть нюансы — например, формулы на листе с данными ссылаются на лист со сводной (такое, своего рода, итеративное вычисление). Тогда нужно смотреть файл.
    Можно не на активацию, но все равно нужно смотреть кокретный файл

    2. Если сводная на этом листе. Обновление сводной в частности вызывает событие Worksheet_Change, что приведет к бесконечному циклу и аварийному выходу из Excel

    ================
    Добавлено
    Пока я писал, Вы уже и свой пост поправили, и сами все поняли

    Обновление данных сводной таблицы

    Сводные таблицы и диаграммы не обновляются автоматически.

    Если вы изменили исходные данные, сводную таблицу необходимо обновить:

    1. Выделите ячейку внутри Сводной таблицы.

    2. В разделе Работа со сводными таблицами на вкладке Параметры в группе Данные нажмите кнопку Обновить.

    Если вы добавили новые записи в диапазон исходных данных, чтобы включить их в отчет сводной таблицы необходимо обновить Источник данных сводной таблицы. Для этого выполните следующие действия:

    1. Выделите ячейку внутри Сводной таблицы.

    2. В разделе Работа со сводными таблицами на вкладке Параметры в группе Данные нажмите кнопку Источник данных.

    3. В окне диалога Изменить источник данных сводной таблицы в поле Таблица или диапазон укажите измененный диапазон исходных данных.

    4. Нажмите кнопку ОК.

    Более подробную информацию вы можете найти в книгах:

    1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 153.

    2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 58.

    Оформление сводной таблицы

    При необходимости Вы можете изменить оформление сводной таблицы. Для этого:

    1. Выделите ячейку внутри Сводной таблицы.

    2. В разделе Работа со сводными таблицами перейдите на вкладку Конструктор.

    3. В группе Стили сводной таблицы выберите подходящий стиль оформления.

    4. В группе Параметры стилей сводной таблицы, используя соответствующие флажки, настройте форматное выделение:

    5. В группе Макет используя кнопку Общие итоги включите или отключите отображение итогов по строкам и/или столбцам используя соответствующие команды.

    Более подробную информацию вы можете найти в книгах:

    1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 154.

    2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 66.

    Создание Сводной диаграммы на основе Сводной таблицы

    Вы можете данные сводной таблицы представить в графическом виде с помощью сводной диаграммы. Для создания сводной диаграммы выполните следующие действия:

    1. Выберите отчет сводной таблицы. На ленте появится панель Работа со сводными таблицами с дополнительными вкладками Параметры и Конструктор

    2. На вкладке Параметры в группе Сервис нажмите кнопку Сводная диаграмма.

    3. В окне диалога Вставка диаграммы выберите нужный тип и подтип диаграммы. Можно использовать любой тип, кроме точечной, пузырьковой и биржевой диаграммы.

    4. Нажмите кнопку ОК. На текущий лист будет добавлена сводная диаграмма.

    Более подробную информацию вы можете найти в книгах:

    1. Иванов И.И. Microsoft Excel 2010 для квалифицированного пользователя. — СПб.: 2011. — С. 155.

    2. Джелен Б., Александр М. Сводные таблицы в Microsoft Excel 2010.: Пер. с англ. – М.: 2011. – С. 69.

    93.79.221.197 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

    Отключите adBlock!
    и обновите страницу (F5)

    очень нужно

    Мой обходной путь — записать макрос в файле Excel (поэтому вам нужно использовать расширение файла .xlsm) (сначала вам нужно будет перейти в «Программы»> «Windows Powershell» и ввести в командной строке Set-ExecutionPolicy RemoteSigned чтобы разрешить запуск сценария) :

    Sub AutoUpdate()
    '
    ' AutoUpdate Macro
    ' data refresh from MSQuery connection
    
    '
        Sheets("Feuill1").Select
        Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
    End Sub
    

    Затем я использую скрипт Powershell, который делает свое дело: открывает файл Excel, вызывает макрос, сохраняет и закрывает файл.
    В этом примере я делаю копию исходного файла в целях безопасности / резервного копирования, но, конечно, вы можете сохранить сам исходный файл.

    $objectExcel = new-object -c excel.application
    $objectExcel.displayAlerts = $false # don't prompt the user
    #$objectExcel.visible = $True;
    $Classeur = $objectExcel.workbooks.open("source_filepath", $null, $true)
    $objectExcel.run("AutoUpdate")
    # $objectExcel.run("RemoveODBC") # another custom macro for removing data connexion
    $Classeur.saveas("destination_filepath")
    $Classeur.close($false)
    #$objectExcel.visible = $False;
    $objectExcel.quit()
    spps -n excel
    

    Поэтому мой отчет Excel обновляется ежедневно, без какого-либо ручного вмешательства, с помощью задачи Windows Planified, которая вызвала вышеуказанный сценарий.

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Как обновление microsoft excel
  • Как обновить значения в ячейках excel
  • Как обозначается абсолютный адрес ячейки в excel
  • Как обновить ячейку в excel автоматически
  • Как обновить значения в сводной таблице excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии