Работа с разными файлами excel

Постановка задачи

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

Предположим, что у нас есть вот такая папка, в которой содержится несколько файлов с данными из филиалов-городов:

Файлы для сборки

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

Данные в книгах

Количество строк (заказов) в таблицах, само-собой, разное, но набор столбцов везде стандартный.

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

Подбираем оружие

Для решения нам потребуется последняя версия Excel 2016 (в нее нужный функционал уже встроен по умолчанию) или предыдущие версии Excel 2010-2013 с установленной бесплатной надстройкой Power Query от Microsoft (скачать ее можно здесь). Power Query — это супергибкий и супермощный инструмент для загрузки в Excel данных из внешнего мира с последующей их зачисткой и обработкой. Power Query поддерживает практически все существующие источники данных — от текстовых файлов до SQL и даже Facebook :)

Если у вас нет Excel 2013 или 2016, то дальше можно не читать (шучу). В более древних версиях Excel подобную задачу можно реализовать только программированием макроса на Visual Basic (что весьма непросто для начинающих) или монотонным ручным копированием (что долго и порождает ошибки).

Шаг 1. Импортируем один файл как образец

Для начала давайте импортируем данные из одной книги в качестве примера, чтобы Excel «подхватил идею». Для этого создайте новую пустую книгу и…

  • если у вас Excel 2016, то откройте вкладку Данные и выберите Создать запрос — Из файла — Из книги (Data — New Query- From file — From Excel)
  • если у вас Excel 2010-2013 с установленной надстройкой Power Query, то откройте вкладку Power Query и выберите на ней Из файла — Из книги (From file — From Excel)

Затем в открывшемся окне переходим в нашу папку с отчетами и выбираем любой из файлов-городов (не играет роли какой именно, т.к. они все типовые). Через пару секунд должно появиться окно Навигатор, где нужно в левой части выбрать требуемый нам лист (Продажи), а в правой отобразится его содержимое:

Навигатор Power Query

Если нажать в правом нижнем углу этого окна кнопку Загрузить (Load), то таблица будет сразу импортирована на лист в исходном виде. Для одиночного файла — это хорошо, но нам нужно загрузить много таких файлов, поэтому мы пойдем немного другим путем и жмем кнопку Правка (Edit). После этого должен в отдельном окне отобразиться редактор запросов Power Query с нашими данными из книги:

Редактор запросов Power Query

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

  • отфильтровывать ненужные данные, пустые строки, строки с ошибками
  • сортировать данные по одному или нескольким столбцам
  • избавляться от повторов
  • делить слипшийся текст по столбцам (по разделителям, количеству символов и т.д.)
  • приводить текст в порядок (удалять лишние пробелы, исправлять регистр и т.д.)
  • всячески преобразовывать типы данных (превращать числа как текст в нормальные числа и наоборот)
  • транспонировать (поворачивать) таблицы и разворачивать двумерные кросс-таблицы в плоские
  • добавлять к таблице дополнительные столбцы и использовать в них формулы и функции на встроенном в Power Query языке М.

Для примера, давайте добавим к нашей таблице столбец с текстовым названием месяца, чтобы потом проще было строить отчеты сводных таблиц. Для этого щелкните правой кнопкой мыши по заголовку столбца Дата и выберите команду Дублировать столбец (Duplicate Column), а затем щелкните правой кнопкой мыши по заголовку появившегося столбца-дубликата и выберите команды Преобразование — Месяц — Название месяца:

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

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

Новый столбец
Если в каких-то столбцах программа не совсем корректно распознала тип данных, то ей можно помочь, щелкнув по значку формата в левой части каждого столбца:

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

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

Фильтрация данных в Power Query

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

Шаги преобразований

Легко и изящно, не правда ли?

Шаг 2. Преобразуем наш запрос в функцию

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

В редакторе запросов перейдите на вкладку Просмотр и нажмите кнопку Расширенный редактор (View — Advanced Editor). Должно открыться окно, где все наши предыдущие действия будут записаны в виде кода на языке М. Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера:

Исходный код

Теперь аккуратно вносим пару правок:

Измененный код

Смысл их прост: первая строка (filepath)=> превращает нашу процедуру в функцию с аргументом filepath, а ниже мы меняем фиксированный путь на значение этой переменной. 

Все. Жмем на Готово и должны увидеть вот это:

Созданная функция

Не пугайтесь, что пропали данные — на самом деле все ОК, все так и должно выглядеть :) Мы успешно создали нашу пользовательскую функцию, где запомнился весь алгоритм импорта и обработки данных без привязки к конкретному файлу. Осталось дать ей более понятное имя (например getData) на панели справа в поле Имя и можно жать Главная — Закрыть и загрузить (Home — Close and Load). Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера.. Вы вернетесь в основное окно Microsoft Excel, но справа должна появиться панель с созданным подключением к нашей функции:

Подключение к функции

Шаг 3. Собираем все файлы

Все самое сложное — позади, осталась приятная и легкая часть. Идем на вкладку Данные — Создать запрос — Из файла — Из папки (Data — New Query — From file — From folder) или, если у вас Excel 2010-2013, аналогично на вкладку Power Query. В появившемся окне указываем папку, где лежат все наши исходные файлы-города и жмем ОК. Следующим шагом должно открыться окно, где будут перечислены все найденные в этой папке (и ее подпапках) файлы Excel и детализация по каждому из них:

Импорт всех файлов Excel из заданной папки

Жмем Изменить (Edit) и опять попадаем в знакомое окно редактора запросов.

Теперь нужно добавить к нашей таблице еще один столбец с нашей созданной функцией, которая «вытянет» данные из каждого файла. Для этого идем на вкладку Добавить столбец — Пользовательский столбец (Add Column — Add Custom Column) и в появившемся окне вводим нашу функцию getData, указав для ее в качестве аргумента полный путь к каждому файлу:

Дополнительный столбец

После нажатия на ОК созданный столбец должен добавиться к нашей таблице справа.

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

А теперь «вау-момент» — щелкнем мышью по значку со своенным стрелками в правом верхнем углу добавленного столбца с нашей функцией:

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

… снимаем флажок Использовать исходное имя столбца как префикс (Use original column name as prefix)и жмем ОК. И наша функция подгрузит и обработает данные из каждого файла, следуя записанному алгоритму и собрав все в общую таблицу:

Собранные данные

Для полной красоты можно еще убрать расширения .xlsx из первого столбца с именами файлов — стандартной заменой на «ничего» (правой кнопкой мыши по заголовку столбца — Заменить) и переименовать этот столбец в Город. А также подправить формат данных в столбце с датой.

Все! Жмем на Главной — Закрыть и загрузить (Home — Close & Load). Все собранные запросом данные по всем городам будут выгружены на текущий лист Excel в формате «умной таблицы»:

Собранные данные

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

В будущем, при любых изменениях в папке (добавлении-удалении городов) или в файлах (изменение количества строк) достаточно будет щелкнуть правой кнопкой мыши прямо по таблице или по запросу в правой панели и выбрать команду Обновить (Refresh) — Power Query «пересоберет» все данные заново за несколько секунд.

P.S.

Поправка. После январских обновлений 2017 года Power Query научился собирать Excel’евские книги сам, т.е. не нужно больше делать отдельную функцию — это происходит автоматически. Таким образом второй шаг из этой статьи уже не нужен и весь процесс становится заметно проще:

  1. Выбрать Создать запрос — Из файла — Из папки — Выбрать папку — ОК
  2. После появления списка файлов нажать Изменить
  3. В окне редактора запросов развернуть двойной стрелкой столбец Binary и выбрать имя листа, который нужно взять из каждого файла

И все! Песня!

Ссылки по теме

  • Редизайн кросс-таблицы в плоскую, подходящую для построения сводных таблиц
  • Построение анимированной пузырьковой диаграммы в Power View
  • Макрос для сборки листов из разных файлов Excel в один

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

Используйте Power Query, чтобы объединить несколько файлов с одной схемой, храняной в одной папке, в одну таблицу. Например, каждый месяц необходимо объединить бюджетные книги из нескольких отделов, где столбцы одинаковы, но количество строк и значений в каждой книге различается. После ее настроив, вы можете применить дополнительные преобразования, как к любому импортируемму источнику данных, а затем обновить данные, чтобы увидеть результаты за каждый месяц.  

Концептуальный обзор объединения файлов папок

Примечание.    В этой теме показано, как объединять файлы из папки. Вы также можете объединять файлы, хранимые в SharePoint, azure BLOB-служба хранилища и Azure Data Lake служба хранилища. Процесс аналогичный.

Не изумять:

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

  • У каждого файла должна быть та же схема, что и для согласованных столбцов, типов данных и количества столбцов. Столбцы не должны быть в том же порядке, что и имена столбцов.

  • По возможности старайтесь не использовать несвязанные объекты данных для источников данных, которые могут иметь несколько объектов данных, например JSON-файл, Excel книгу или базу данных Access.

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

  1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

  2. Найдите папку с файлами, которые вы хотите объединить.

  3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

    Пример диалогового окна импорта текста

  4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Загрузить. В разделе Обо всех этих командах обсуждаются дополнительные команды.

  5. Если выбрать команду Объединить, появится диалоговое окно Объединение файлов. Чтобы изменить параметры файла, выберите каждый файл в поле Образец файла, задав нужные параметры Источник файла,Делитер и Обнаружение типов данных. Кроме того, в нижней части диалогового окна можно выбрать или отобрать диалоговое окно Пропускать файлы с ошибками.

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

Результат

Power Query автоматически создает запросы для консолидации данных из каждого файла на каждом из них. Шаги запроса и созданные столбцы зависят от того, какую команду вы выбрали. Дополнительные сведения см. в разделе Сведения обо всех этих запросах.

  1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

  2. Найдите папку с файлами, которые вы хотите объединить.

  3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

  4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Transform. В разделе Обо всех этих командах обсуждаются дополнительные команды.

    Появится редактор Power Query.

  5. Столбец Значение является структурированным столбцом списка. Выберите значок Развернуть Значок развертывания столбца , а затем выберите Развернуть до новых строк.

    Расширение списка JSON

  6. Столбец Value (Значение) теперь является структурированным столбцом Record (Запись).  Выберите значок Значок развертывания столбца развернуть. Появится диалоговое окно с drop-down.

    Расширение записи JSON

  7. Не избирать все столбцы. Возможно, вам нужно будет очистить поле Использовать имя исходного столбца в качестве префикса. Нажмите кнопку ОК.

  8. Вы можете выбрать все столбцы, содержащие значения данных. На лентевыберите Главная , стрелку рядом с клавишей Remove Columns, а затем выберите Удалить другие столбцы.

  9. Выберите Главная> закрыть & загрузить.

Результат

Power Query автоматически создает запросы для консолидации данных из каждого файла на каждом из них. Шаги запроса и созданные столбцы зависят от того, какую команду вы выбрали. Дополнительные сведения см. в разделе Сведения обо всех этих запросах.

Каждый из этих источников данных может иметь несколько объектов для импорта. Книга Excel может иметь несколько книг, Excel таблиц или именовых диапазонов. База данных Access может иметь несколько таблиц и запросов. 

  1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

  2. Найдите папку с файлами, которые вы хотите объединить.

  3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

  4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Загрузить. В разделе Обо всех этих командах обсуждаются дополнительные команды.

  5. В диалоговом окне Объединение файлов:

    • В поле Образец файла выберите файл, который будет использоваться в качестве примера данных для создания запросов. Нельзя выбрать объект или выбрать только один объект. Однако выбрать несколько из них нельзя.

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

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

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

Результат

Power Query автоматически создает запрос для консолидации данных из каждого файла на каждом из них. Шаги запроса и созданные столбцы зависят от того, какую команду вы выбрали. Дополнительные сведения см. в разделе Сведения обо всех этих запросах.

Для большей гибкости вы можете явным образом объединить файлы в редакторе Power Query с помощью команды Объединить файлы. Предположим, что в исходных папках есть как типы файлов, так и вложенные папки, и вы хотите подцелить определенные файлы с тем же типом файлов и схемой, но не с другими. Это может повысить производительность и упростить преобразования.

  1. Выберите data > Get Data > Data > From File > From Folder. Появится диалоговое окно Обзор.

  2. Найдите папку с файлами, которые вы хотите объединить, и выберите открыть.

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

  4. Внизу выберите преобразовать данные. Откроется редактор Power Query со всеми файлами в папке и во вложенных папках.

  5. Чтобы выбрать нужные файлы, отфильтруем столбцы, например Расширение или Путь к папке.

  6. Чтобы объединить файлы в одну таблицу, выберите столбец Содержимое, содержащий каждый двоичный (обычно первый столбец), а затем выберите Главная > Объединить файлы. Появится диалоговое окно Объединение файлов.

  7. Power Query анализирует пример файла (по умолчанию первый файл в списке), чтобы использовать правильный соединительщик и определить совпадающие столбцы.

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

  8. При желании внизу выберите пропустить файлы с ошибкой s,чтобы исключить эти файлы из результата.

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

Результат

Power Query автоматически создает запросы для консолидации данных из каждого файла на каждом из них. Шаги запроса и созданные столбцы зависят от того, какую команду вы выбрали. Дополнительные сведения см. в разделе Сведения обо всех этих запросах.

Существует несколько команд, которые можно выбрать, и каждая из них имеет разные цели.

  • Объединение и преобразование данных    Чтобы объединить все файлы с запросом, а затем запустить редактор Power Query, выберите объединить> объединить и преобразовать данные.

  • Объединение и загрузка   Чтобы отобразить диалоговое окно Образец файла, создайте запрос, а затем загрузите на таблицу, выберите объединить> Объединить и загрузить.

  • Объединение и загрузка в   Чтобы отобразить диалоговое окно Образец файла, создайте запрос, а затем в диалоговом окне Импорт выберите объединить> Объединить и загрузить в.

  • Нагрузки    Чтобы создать запрос с одним шагом, а затем загрузить на таблицу, выберите загрузить > загрузить.

  • Загрузить в   Чтобы создать запрос одним шагом и отобразить диалоговое окно Импорт, выберите загрузить > Загрузить в.

  • Преобразование данныхЧтобы создать запрос с одним шагом и запустить редактор Power Query, выберите Преобразовать данные.

Тем не менее при объединения файлов в области Запросы в группе «Запросы-справки» создается несколько вспомогательных запросов.

Список запросов, созданных в области "Запросы"

  • Power Query создает запрос «Образец файла» на основе примера запроса.

  • Запрос функции Transform File (Файл преобразования) использует запрос Parameter1 для указания каждого файла (двоичного) в качестве входного в запрос «Образец файла». Этот запрос также создает столбец Содержимое, содержащий содержимое файла, и автоматически расширяет его, чтобы добавить данные столбца в результаты. Запросы «Преобразовать файл» и «Образец файла» связаны, поэтому изменения в запросе «Образец файла» отражаются в запросе «Преобразовать файл».

  • Запрос, содержащий окончательные результаты, находится в группе «Другие запросы». По умолчанию он называется папкой, из которого вы импортировали файлы.

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

Чтобы начать процесс объединения нескольких файлов, сначала поместите их все в одну папку.

Примечание: Поддерживаются файлы Excel и Access, текстовые файлы, а также файлы в форматах CSV, JSON и XML.

  1. На вкладке Power Query выберите из файла > из папки.

    Power Query > параметры "Из > из папки"

  2. Нажмите кнопку Обзор, чтобы перейти к нужной папке.

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

    Диалоговое окно объединения двоичных файлов, в котором показаны файлы, доступные для объединения

  3. Убедившись в том, что все нужные файлы присутствуют в списке, нажмите в столбце Содержимое кнопку Объединить двоичные данные.

    Нажмите кнопку "Объединить двоичные данные" в столбце "Содержимое" или в разделе "Объединить" на ленте Power Query.

  4. Будет выполнен анализ каждого файла и определен правильный формат, например текстовый, Excel или JSON. В этом примере отображается список листов из первой книги Excel. Выберите нужный лист и нажмите кнопку ОК.

    Диалоговое окно объединения двоичных файлов, в котором показаны листы Excel, доступные для выбора в качестве основной цели для размещения объединенных данных

  5. При преобразовании разных файлов автоматически создается запрос для консолидации данных из каждого файла и предварительного просмотра. Если результат вас устраивает, нажмите кнопку Закрыть & загрузить.

    Диалоговое окно для предварительного просмотра результатов объединения. Нажмите "Закрыть и загрузить", чтобы принять результаты и импортировать их в Excel.

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

  6. Если исходные файлы данных изменятся, вы всегда сможете обновить импортируемые данные. Щелкните в любом месте диапазона данных, а затем перейдите в инструменты запросов > обновить. Кроме того, вы можете легко применить дополнительные шаги преобразования или извлечения, изменяя автоматически созданный запрос-образец, не беспокоясь об изменении или создании дополнительных шагов запроса функций. любые изменения запроса-образец автоматически создаются в связанном запросе функции.

Известные проблемы

При загрузке процедуры объединения двоичных файлов в Excel может появиться такое сообщение об ошибке:

Сообщение об ошибке при объединении двоичных файлов. Это известная ошибка, которая будет устранена.

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

См. также

Справка по Power Query для Excel

Добавление запросов

Обзор объединения файлов (docs.com)

Объединение CSV-файлов в Power Query (docs.com)

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

Russian (Pусский) translation by Andrey Rybin (you can also view the original English article)

По мере того как вы используете и создаете больше рабочих документов Excel, у вас может возникнуть необходимость связать их между собой. Может быть вы захотите написать формулу, которая использует данные с разных Листов. Или может даже вы напишете формулу, которая будет использовать данные из разных Книг (стандартное название рабочего документа Excel — workbook (анг.))

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

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

Как Можно Быстро Организовать Ссылку Между Данными в Книгах Excel (Смотри и Учись)

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

Давайте посмотрим иллюстрированное руководство по связыванию Листов и Книг в Excel.

Основы: Как Добавить Ссылку между Листами в Excel

Давайте начнем с того, что научимся создавать формулы, которые используют данные с других Листов. Вы возможно уже знаете, что рабочий документ (Книга) Excel, может содержать несколько рабочих страниц (Листов). Каждый лист имеет свою вкладку, и вы можете переключаться между ними щелкая по вкладкам в нижней части документа Excel.

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

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

Excel sheets

В моем документе три вкладки с Листами (Sheet). Я собираюсь написать формулу, которая будет работать с данными из каждого листа.

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

1. Создайте в Excel новую Формулу

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

Я открываю запись знаком =, и затем щелкаю по первой ячейке на текущем листе, чтобы создать первую часть формулы. Затем, я напечатаю знак +, чтобы добавить значение из второй ячейки в этой формуле.

Excel Formula part 1Excel Formula part 1Excel Formula part 1

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

Пока не завершайте ввод формулы и не жмите Enter! Вам нужно оставить формулу открытой перед тем как вы переключитесь на другой Лист.

2. Переключитесь между Листами в Excel

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

Jump to different sheet in ExcelJump to different sheet in ExcelJump to different sheet in Excel

Перейдите на другой Лист Excel

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

Заметьте на картинке ниже, что для ссылки на ячейку  на другом Листе, Excel добавил  надпись «Sheet2!B3», которая ссылается на ячейку В3 на листе с названием Sheet2. Вы можете написать это вручную, но когда в щелкаете по ячейке, Excel делает эту надпись автоматически за вас.

Multiple sheet formulaMultiple sheet formulaMultiple sheet formula

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

3. Закройте Excel формулу

Теперь, вы можете нажать enter, чтобы завершить создание мульти-страничной формулы. Когда вы это делаете, Excel вернется туда, где вы начали создавать формулу и покажет вам результат.

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

Повышаем Уровень Сложности: Как Создать Связь Между Несколькими Книгами Excel

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

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

1. Откройте Две Рабочие Книги

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

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

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

Two workbooksTwo workbooksTwo workbooks

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

2. Начните Создавать Формулу в Excel

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

Давайте рассмотрим число баррелей нефти которую я покупаю каждый месяц и цену за баррель. Сначала в ячейке из колонки Cost (ячейка C3), я начинаю создавать формулу, щелкнув в ней и нажав знак равно (=), а затем щелкаю по ячейке В3, чтобы взять значение для количества. Теперь, я жму знак *, чтобы уможножить количество на курс.

Итак, ваша формула, пока должна выглядеть так:

=B3*

Multiply quantityMultiply quantityMultiply quantity

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

3. Переключитесь на Другой Рабочий Документ Excel 

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

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

Excel multiplying between workbooksExcel multiplying between workbooksExcel multiplying between workbooks

Excel автоматически добавит ссылку на другой рабочий документа, как часть формулы:

=B3*[Prices.xlsx]Sheet1!$B$2

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

Потренируйте свои навыки работы в Excel, умножая количество товара или объем на соответствующую ему цену из документа «Prices«.

Главное, расположить книги одну рядом с другой, и создавать формулу переключаясь между ними.

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

Как Обновлять Данные При Работе с Несколькими Книгами

Когда вы используете формулы, которые ссылаются на разные книги Excel, вам нужно позаботится о том, как будут обновляться данные.

Итак, что же произойдет, если данные в Книге, на которую вы ссылаетесь, поменяются? Будут ли выполнены автоматические изменения в вашей Книге, или вам нужно обновлять ваши файлы, чтобы извлечь последние изменения и импортировать их?

Ответ такой, «зависит», и в основном зависит от того, открыты ли два документа одновременно.

Пример 1: Открыты Обе Книги Excel

Давайте проверим пример используя те же книги, что мы использовали раньше. Обе книги открыты. Давайте посмотрим, что произойдет, если мы изменим цену нефти за баррель с 45$ на 75$:

Change in priceChange in priceChange in price

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

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

Пример 2: Если Один Рабочий Документ Закрыт

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

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

Update dataUpdate dataUpdate data

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

Вы так же можете видеть меню, где можно нажать на копку Включить содержимое (Enable Content), чтобы автоматически обновлять данные между файлами Excel.

Подводим итоги и продолжаем обучаться работе в Excell

Написание формул которые берут данные из разных Листов и Книг, важный навык, при работе в Excel. Тем более, что это совсем не сложно, если вы знаете как это делать.

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

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

Как часто, работая с данными, вам удается уместить всю необходимую для анализа информацию в одну таблицу? Скорее всего, никогда.

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

В этой статье мы рассмотрим наиболее эффективные способы как это сделать.

Как объединить две таблицы Excel с помощью функции ВПР

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

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

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

Для этого в ячейку D2 вставим формулу с функцией ВПР:

  • B2 – ячейка с названием товара, которое мы ищем в таблице с ценами;
  • $G$2:$H$4 – диапазон ячеек таблицы с наименованием товаров и ценами. В столбце G содержатся названия товаров, по которым функция осуществляет поиск. В столбце H отражены цены, которые функция ВПР будет подставлять в нашу таблицу. Диапазон ячеек включает в себя значки $, с их помощью диапазон зафиксирован и не будет изменяться при протягивании формулы по другим ячейкам.
  • 2 – номер столбца в диапазоне данных с ценами на товары, которые мы хотим подставить в нашу таблицу.
  • 0 – точность совпадения данных. Ставим “0”, так как нам необходимо точное совпадение.

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

Консолидация данных в программе Microsoft Excel

Консолидация в Microsoft Excel

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

Условия для выполнения процедуры консолидации

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

    • столбцы во всех таблицах должны иметь одинаковое название (допускается лишь перестановка столбцов местами);
    • не должно быть столбцов или строк с пустыми значениями;
    • шаблоны у таблиц должны быть одинаковыми.

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

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

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

    Добавление нового листа в Microsoft Excel

    Переход к консолидации данных в Microsoft Excel

    Настройки консолидации в Microsoft Excel

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

    • сумма;
    • количество;
    • среднее;
    • максимум;
    • минимум;
    • произведение;
    • количество чисел;
    • смещенное отклонение;
    • несмещенное отклонение;
    • смещенная дисперсия;
    • несмещенная дисперсия.

    Выбор функции для консолидации в Microsoft Excel

    Переход к выбору диапазона для консолидации в Microsoft Excel

    Выбор диапазона для консолидации в Microsoft Excel

    Добавление диапазона в Microsoft Excel

    Как видим, после этого диапазон добавляется в список.

    Диапазон добавлен в Microsoft Excel

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

    Все диапазоны добавлены для консолидации в Microsoft Excel

    Выбор файла для консолидации в Microsoft Excel

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

    Установка настроек для консолидации в Microsoft Excel

    Просмотр содержимого группы консолидированной таблицы в Microsoft Excel

    Содержимое группы группы консолидированной таблицы в Microsoft Excel

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

    ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

    Как объединить файлы Excel и таблицы

    При работе с несколькими файлами Microsoft Excel иногда необходимо объединить файлы и таблицы Excel в новый или существующий файл Excel или объедините несколько файлов Excel в один файл. Хотя вы всегда можете скопировать и вставить данные с одного листа на другой или из одного файла в другой, это утомительно, когда их слишком много. В этом посте мы расскажем, как их можно объединить с помощью встроенной функции.

    Объединение файлов и таблиц Excel

    Как объединить файлы и таблицы Excel

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

    1. Объединить таблицы в новый или существующий файл
    2. Объединить несколько файлов Excel

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

    Объединить таблицы в новый или существующий файл

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

    • Откройте исходный файл Excel и переключитесь на лист, который вы хотите скопировать.
    • Щелкните вкладку «Главная»> раздел «Ячейки»> «Формат»> «Переместить или скопировать лист».
    • Откроется всплывающее окно, в котором вы можете выбрать существующий файл Excel или создать новый файл на ходу.
      • Когда ты выберите новый вариант файла, он мгновенно создаст новый файл, но не сохранит его.
      • Когда ты выберите существующий файл, у вас есть возможность выбрать, куда будет вставлен лист, т. е. до или после существующих листов или в конце всех листов.

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

      Если вы хотите переместить несколько листов в другой файл Excel, то перед использованием «Переместите или скопируйте лист » выберите листы с помощью Ctrl или Shift. В то время как Shift позволяет вам выбирать соседние листы или диапазон листов, Ctrl позволяет вам выбирать отдельные листы. Остальные шаги такие же. Вы можете использовать это для ручного слияния файлов Excel.

      Объединить несколько файлов Excel

      Макрос MergeExcel

      Слияние файлов Excel — сложная вещь, и для этого мы будем использовать код VBA из ExtendOffice. Это позволит вам объединить несколько файлов или книг, доступных в папке.

      • Создайте новую электронную таблицу Excel и нажмите ALT + F11, чтобы открыть раздел разработчика.
      • Щелкните меню «Вставка», а затем «Модуль»
      • Вставьте код, указанный ниже. Назовите модуль MergeExcel

      Затем нажмите Alt + F8 открыть Макрос диалог. Это покажет все макросы на листе. Выбирать MergeExcel и нажмите Пробег. Вам будет предложено сохранить файлы, обязательно сделайте это. После этого все листы из разных файлов Excel станут доступны в файле Excel, в котором вы запускали макрос. На веб-сайте ExtendOffice есть много таких макросов, и я настоятельно рекомендую посетить их по адресу extendoffice.com.

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

      Мы надеемся, что руководство было легким для понимания, и вы можете объединить файлы Excel и таблицы.

    Обработка данных из файлов Excel - отображение информации на индикаторе состояния

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

    Для работы этого макроса, помимо него самого, вам понадобится добавить в свой файл:

    1. функцию FilenamesCollection для получения списка файлов в папке
    2. функцию GetFolder для вывода диалогового окна выбора папки с запоминанием выбранной папки
    3. прогресс-бар для отображения процесса обработки файлов (модуль класса и форму)

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

    Этот макрос я публикую прежде всего для себя (поскольку использую этот код чуть ли ни в каждой третьей своей программе),
    поэтому я не буду помогать вам в настройке этого макроса, если у вас он вдруг не заработает.

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

    После того, как очередной файл обработан, он перемещается во вторую папку («архив»).

    Код макроса:

    Sub ИмпортДанныхИзЗаявок()
        On Error Resume Next: Err.Clear
        ' запрашиваем пути к папкам с файлами
        InvoiceFolder$ = GetFolder(1, , "Выберите папку с файлами заявок (из Outlook)")
        If InvoiceFolder$ = "" Then MsgBox "Не задана папка с заявками", vbCritical, "Обработка заявок невозможна": Exit Sub
     
        ArchieveFolder$ = GetFolder(2, , "Выберите папку, куда будут помещаться обработанные файлы заявок")
        If ArchieveFolder$ = "" Then MsgBox "Не задана папка для архива заявок", vbCritical, "Обработка заявок невозможна": Exit Sub
     
        Dim coll As Collection
        ' загружаем список файлов по маске имени файла
        Set coll = FilenamesCollection(InvoiceFolder$, "Заявка №*от*.xls*", 1)
     
        If coll.Count = 0 Then
            MsgBox "Не найдено ни одной заявки для обработки в папке" & vbNewLine & InvoiceFolder$, _
                   vbExclamation, "Нет необработанных заявок"
            Exit Sub
        End If
     
        Dim pi As New ProgressIndicator: pi.Show "Обработка заявок", , 2
        pi.StartNewAction , , , , , coll.Count    ' отображаем прогресс-бар
    
        Dim WB As Workbook, sh As Worksheet, ra As Range
        Application.ScreenUpdating = False  ' отключаем обновление экрана (чтобы процесс открытия файлов не был виден)
    
        ' перебираем все найденные в папке файлы
        For Each Filename In coll
     
            ' обновляем информацию на прогресс-баре
            pi.SubAction "Обрабатывается заявка $index из $count", "Файл заявки: " & Dir(Filename), "$time"
            pi.Log "Файл: " & Dir(Filename)
     
            ' открываем очередной файл в режиме «только чтение»
            Set WB = Nothing: Set WB = Workbooks.Open(Filename, False, True)
     
            If WB Is Nothing Then    ' не удалось открыть файл
                pi.Log vbTab & "ОШИБКА при загрузке файла. Файл не обработан."
     
            Else    ' файл успешно открыт
                Set sh = WB.Worksheets(1)    ' будем брать данные с первого листа
                ' берем диапазон ячеек с ячейки B1 до последней заполненной в столбце B
                Set ra = sh.Range(sh.Range("b1"), sh.Range("b" & sh.Rows.Count).End(xlUp))
     
                ' ==== переносим данные в наш файл (shb - кодовое имя листа, куда помещаем данные)
                shb.Range("a" & shb.Rows.Count).End(xlUp).Offset(1).Resize(, ra.Rows.Count).Value = _
                Application.WorksheetFunction.Transpose(ra.Value)
                ' ==== конец обработки данных из очередного файла
    
                WB.Close False: DoEvents    ' закрываем обработанный файл без сохранения изменений
                pi.Log vbTab & "Файл успешно обработан."
     
                ' перемещаем обработанный файл из папки InvoiceFolder$ в папку ArchieveFolder$
                Name Filename As ArchieveFolder$ & Dir(Filename, vbNormal)
     
            End If
        Next
     
        ' закрываем прогресс-бар, включаем обновление экрана
        pi.Hide: DoEvents: Application.ScreenUpdating = True
        MsgBox "Обработка заявок завершена", vbInformation
    End Sub

    Во вложении — файл со всеми необходимыми макросами для сбора данных из других файлов Excel

    Поддерживаемые Excel форматы файлов

    ​Смотрите также​ книгой(второй файл с​ папку, которую откроют​: Подскажите как будет​​ vbInformation End Sub​​ .Cells(LastRowСводный + СколькоОбъединять,​​ Then MsgBox «В​​ If If IsEmpty(ЛистИсточник.Cells(31​ _ «Если это​​ форматами – жмите​​DarkSacred​ в конец конечного​ просто показал, что​ Excel​ разделителей.​

    ​SYLK​​ кода. Позволяет использовать​Файл Excel можно сохранить​ данными), в которой​ предполагаемые участники. Нажимаем​ выглядеть код если​

    ​lalike​ 15)).Merge End With​ выбранной папке есть​ + i, 6).Value)​ последняя ячейка столбца​ OK.​​, да и можно​​ файла?​​ откуда берется.​​lalike​CSV (разделители — запятые)​SLK​ проекты VBA и​ в другом формате.​ хранятся исходные данные​ «Сохранить».​ ситуация попроще:​: СПАСИБО!!!!​ ’22 столбец If​ файлы недопустимых форматов​ = False Then​ C11 или столбца​

    Форматы файлов Excel

    ​К коду в​

    ​ ли несколько диапазонов​

    ​lalike​

    ​Busine2009​

    ​: какой процедурой выплняется​

    ​CSV​Формат Symbolic Link. Сохраняет​ листы макросов Excel​ Для этого на​ и результаты.​Внимание! Нельзя использовать для​Есть около 1000​использовал на все​ IsEmpty(ЛистИсточник.Cells(LastRowИсточник, 17).Value) =​ (не Excel).», vbCritical​ ЛистКонечный.Cells(LastRowКонечный + j,​

    ​ C17, то проверьте​ файле Word приложена​

    ​ выделять и определять​

    ​: после таблице в​: т.е. только данные​ сборка информации с​Формат с разделителями-запятыми​ только активный лист.​ 4.0 (XLM).​ вкладке​Alex Dark​ сохранения общего файла​

    ​ файлов с абсолютно​

    ​ 100%.​

    ​ False Then ЛистСводный.Cells(LastRowСводный​ Exit Sub End​ 25).Value = ЛистИсточник.Cells(31​

    ​ форматирование этой ячейки:​

    ​ пояснительная записка, которую​

    ​ положение конечных ячеек?​ источнике еще есть​ внутри этих файлов​ эксель файлов?​Форматированный текст (разделители —​Примечание:​Надстройка Excel 97—2003​Файл​: Очень просто.​

    ​ веб-сервер.​

    ​ одинаковыми таблицами (отличаются​

    ​очень удобно и​ + 1, 22).Value​ If Next oFile​ + i, 6).Value​ » & vbCr​ нужно обязательно прочитать​lalike​ кое-что, но я​ меняются что ли?​Комментарий модератора​

    ​ пробелы)​

    ​ При сохранении книги в​

    ​XLA​выберите пункт​

    ​Макросом открываешь файл,​

    ​Теперь проверим и обновим​

    ​ только данные) и​ сэкономило столько времени.​ = ЛистИсточник.Cells(LastRowИсточник, 17).Value​ ‘Собственно заполнение сводного​

    ​ Else ЛистКонечный.Cells(LastRowКонечный +​

    ​ & _ «в​

    ​ и если что-то​: какой процедурой выплняется​

    ​ могу это удалить.​

    ​lalike​

    ​Именуйте темы осмысленно.​RTF​

    ​ любом текстовом формате​

    ​Надстройка Excel 97-2003, дополнительная​

    ​Сохранить как​

    ​ считываешь данные, закрываешь.​

    ​ ссылки:​

    ​ необходимо получить в​я вот думаю,​ Else ЛистСводный.Cells(LastRowСводный +​ файла данными из​ j, 25).Value =​ этой ячейке должно​ не понятно, то​ сборка информации с​Busine2009​:​ Название темы должно​

    ​RTF. Только из Excel.​

    ​ теряются все элементы​

    ​ программа, предназначенная для​. Форматы файлов, доступные​CTAJIuH​Вкладка «Данные». «Подключения».​ сводный файл такую​

    ​ как бы сделать​

    ​ 1, 22).Value =​

    ​ файлов-источников. For Each​ 0 End If​ быть число и​ спросить.​ эксель файлов?​,​Busine2009​ максимально полно отражать​Внедренный объект​ форматирования.​

    ​ выполнения дополнительного кода.​

    ​ в диалоговом окне​

    ​:​Изменить ссылки / изменить​ же таблицу но​

    ​ эту програмку универсальной..​​ 0 End If​ oFile In oFolder.Files​

    Форматы текстовых файлов

    ​ Next i With​

    ​ шрифт должен быть​

    ​Sub m_1() Dim​

    ​Комментарий модератора​файл-источник не изменяется.​

    ​,​

    ​ ее содержание.​GIF, JPG, DOC, XLS​Формат​ Поддерживает использование проектов​

    ​Сохранение документа​Alex Dark​

    ​ связи. Если такая​

    ​ содержащую результат обработки​Busine2009​ With ЛистСводный .Range(.Cells(LastRowСводный​ Set ФайлИсточник =​ ЛистКонечный .Cells(LastRowКонечный +​ жирным.», vbCritical Exit​ ЛистКонечный2 As Excel.Worksheet​Именуйте темы осмысленно.​нужно заносить данные​В одной папке​dzug: Той которую напишите..​

    ​ или BMP​

    ​Расширение​

    ​ VBA.​, зависят от типа​, Видимо что то​ кнопка отсутствует, в​ исходных таблиц (​:​ + 1, 22),​ Workbooks.Open(oFile.Path) Set ЛистИсточник​ 1, 4).Value =​ Sub End If​ Dim Флаг As​

    ​ Название темы должно​

    ​ из файлов-источников.​

    ​ около 200 Excel​lalike​Объекты Microsoft Excel, объекты​Описание​Книга Excel 4.0​ активного листа (обычный​ лагануло… последняя строка​ листе нет связанных​ например сумму значений​lalike​ .Cells(LastRowСводный + СколькоОбъединять,​

    ​ = ФайлИсточник.Worksheets(1) Set​

    ​ ЛистИсточник.Cells(8, 4).Value .Range(.Cells(LastRowКонечный​

    ​ LastRowИсточник = ActiveCell.Row​ Boolean Dim oCell​ максимально полно отражать​Busine2009​ документов. Каждый документ​

    ​: хм, я здесь​

    ​ правильно зарегистрированных программ,​

    ​DBF 3, DBF 4​XLW​ лист, лист диаграммы​ не отправилась…​ файлов.​ соответствующих ячеек) ?​,​ 22)).Merge End With​ ЛистСводный = Workbooks(«Сводный.xls»).Worksheets(1)​ + 1, 4),​ ‘Заполним сначала столбец​

    ​ As Excel.Range Dim​

    ​ ее содержание.​

    ​:​ разный. Я беру​ недавно, может подскажете:​ поддерживающих OLE 2.0​.DBF​Формат файла Excel 4.0,​ или другой тип​Все это дело​Переходим на вкладку «Состояние»,​Совместный доступ в Microsoft​

    ​в смысле «универсальной»?​

    ​ ’26 столбец If​

    ​ LastRowСводный = ЛистСводный.Cells.SpecialCells(xlCellTypeLastCell).Row​ .Cells(LastRowКонечный + СколькоОбъединять,​ 17 в конечном​ ЛистИсточник As Excel.Worksheet​DarkSacred: Вот смотри, только​lalike​ данные из определенных​есть иного .xls​ (OwnerLink), а также​dBase III и IV.​

    ​ в котором сохраняются​

    ​ листа).​

    ​ нужно сделать программно…​ чтобы проверить имеющиеся​

    ​ Excel дает возможность​

    ​ Начните изучать потихоньку​

    ​ IsEmpty(ЛистИсточник.Cells(LastRowИсточник, 11).Value) =​ metka_1: Set АктивнаяЯчейка​

    ​ 4)).Merge .Cells(LastRowКонечный +​​ файле, чтобы знать,​ Dim ЛистКонечный As​ я его не​,​

    Другие форматы файлов

    ​ ячеек, но в​

    ​ файлов,​

    ​ Picture или другой​

    ​ Файлы этого формата​

    ​ только обычные листы,​

    ​Примечание:​Т.е. на данный​ связи. На работоспособность​ работать с одним​ VBA, я помогу​ False Then ЛистСводный.Cells(LastRowСводный​ = Application.InputBox(«Выберите ячейку:​

    ​ 1, 5).Value =​

    ​ сколько объединять ячеек​

    ​ Excel.Worksheet Dim i​ проверял, если что​т.е. у вас​ некоторых документах диапазон​собираю все в​ формат презентации​ можно открывать в​ листы диаграмм и​ При сохранении файла в​ момент у меня​ связей указывает кнопка​ файлом сразу нескольким​ на первых порах,​ + 1, 26).Value​ R1C1, последнюю ячейку​ ЛистИсточник.Cells(10, 4).Value .Range(.Cells(LastRowКонечный​

    ​ в дальнейшем. For​

    ​ As Long Dim​

    ​ спрашивай​ одноразовая работа что​ определенных ячеек изменен.​ один,​Связанный объект​ Microsoft Excel, но​ макросов. В приложении​ другом формате может​ «физически» открывается файл,​ ОК.​ пользователям. Десять-двадцать человек​ т.к. обладаю только​ = ЛистИсточник.Cells(LastRowИсточник, 11).Value​ » & _​ + 1, 5),​

    ​ i = 1​​ j As Long​’Выбираем файлы для​

    ​ ли: есть папка​

    ​Из них я​

    ​беру определенные ячейки,​GIF, JPG, DOC, XLS​ сохранять файлы Microsoft​ Excel 2010 можно​ быть утрачена часть​ а это как​Открываем меню Microsoft Office.​ на разных компьютерах​ неполными базовыми знаниями.​ Else ЛистСводный.Cells(LastRowСводный +​ «столбца C11 или​ .Cells(LastRowКонечный + СколькоОбъединять,​

    ​ To LastRowИсточник -​​ Dim LastRowКонечный As​ загрузок nFile =​

    Форматы файлов, использующие буфер обмена

    ​ с 200 Excel-файлами.​ собираю данные в​расположение ячеек в​ или BMP​​ Excel в формате​​ открыть книгу в​​ форматирования, данных и​​ то не устраивает​​Нажимаем «Открыть».​​ одновременно вносят какие-то​​ И будете превращать​​ 1, 26).Value =​​ последнюю ячейку столбца​​ 5)).Merge .Cells(LastRowКонечный +​ 31 Step 2​

    ​ Long Dim LastRowИсточник​

    ​ Application.GetOpenFilename( _ FileFilter:=»xls-файл​

    ​ Вы заносите нужные​

    ​ один документ.​

    ​ некоторых местах меняется.​

    ​OwnerLink, ObjectLink, Link, Picture​ dBase нельзя.​ этом формате, но​ возможностей.​

    ​ меня.​​Выбираем общую книгу.​ данные в один​ этот код в​ 0 End If​ C17.», Type:=8) If​ 1, 6).Value =​

    ​ If IsEmpty(ЛистИсточник.Cells(31 +​

    ​ As Long Dim​

    ​ (*.xls),*.xls», _ Title:=»Выберите​ данные из этих​

    ​данные меняются внутри​

    ​названия файлов могу​

    ​ или другой формат.​Таблица OpenDocument​ сохранить в нем​Чтобы открыть файл, созданный​Можно ли как​

    ​Когда книга открыта, нажимаем​

    ​ документ. Где находится​

    ​ универсальный.​

    ​ With ЛистСводный .Range(.Cells(LastRowСводный​

    ​ АктивнаяЯчейка.Address(ReferenceStyle:=xlR1C1) = «R1C1″​

    ​ ЛистИсточник.Cells(11, 4).Value .Range(.Cells(LastRowКонечный​

    ​ i, 1).Value) =​ СколькоОбъединять As Long​

    ​ файлы для загрузки»,​

    ​ 200-х файлов в​ документа 1.xls и​ менять.​

    ​Рисованный объект Office​

    ​ODS​

    ​ файл Excel нельзя.​

    ​ в другом формате​ то не открывая​

    ​ на кнопку Microsoft​

    ​ определенная информация, работают​

    ​lalike​

    ​ + 1, 26),​ Then ЛистСводный.Cells(LastRowСводный +​

    ​ + 1, 6),​ False Then j​ Dim Сумма ‘Проверка,​ _ MultiSelect:=True) If​ конечный файл и​ других подобных, из​

    ​пока только занимаюсь​

    ​EMF​Таблица OpenDocument. Файлы приложения​

    ​Works 6.0—9.0​ (в более ранней​

    ​ «физически» отредактировать файл​

    ​ Office. Переходим на​

    ​ определенные формулы.​: отлично! огромное спасибо,​

    ​ .Cells(LastRowСводный + СколькоОбъединять,​

    ​ 1, 4).Value =​

    ​ .Cells(LastRowКонечный + СколькоОбъединять,​

    ​ = j +​

    ​ что добавлен лист​

    ​ IsEmpty(nFile) Or Not​ на этом работа​ которых я собираю​ все делаю вручную,​Формат объекта-рисунка Office или​ Excel 2010 можно​XLR​ версии Excel или​Alex Dark​

    ​ вкладку «Параметры Excel»​​«Главный пользователь» имеет возможность​ я сейчас читаю​

    ​ 26)).Merge End With​

    ​ ЛистИсточник.Cells(8, 4).Value ЛистСводный.Cells(LastRowСводный​

    ​ 6)).Merge .Cells(LastRowКонечный +​

    ​ 1 ЛистКонечный.Cells(LastRowКонечный +​​ в конечную книгу​ IsArray(nFile) Then Exit​ завершена?​ все в один​ но такими темпами​ Picture (EMF).​

    Форматы файлов, не поддерживаемые в Excel

    ​ сохранять в формате,​Таблица, сохраненная в приложении​ в другой программе),​: Это как ???​ (в нижней части​ отслеживать действия рабочей​ А. Гарнаева, Самоучитель​ ‘Теперь с необъединёнными​ + 1, 5).Value​

    ​ 1, 7).Value =​

    ​ j, 17).Value =​

    ​ для записи в​

    ​ Sub ‘выбран ли​

    ​lalike​

    ​ документ => 2.xls​ мне не справиться…​

    ​Текст​

    ​ который позволяет открывать​ Microsoft Works версий​

    ​ откройте вкладку​ Телепатически что ли?​

    ​ меню).​

    ​ группы, добавлять/удалять участников,​

    ​ VBA.​ ячейками поработаем. For​

    ​ = ЛистИсточник.Cells(10, 4).Value​

    ​ ЛистИсточник.Cells(20, 4).Value .Range(.Cells(LastRowКонечный​

    ​ ЛистИсточник.Cells(31 + i,​

    ​ нём имён файлов,​

    ​ файл для загрузок​

    ​:​кажется это может​

    ​Busine2009​

    ​TXT​

    ​ их в приложениях​ 6.0—9.0.​

    Форматы файлов, не поддерживаемые в Excel Starter

    ​Файл​Вы термин «физически»​«Общие» — «Личная настройка»​ редактировать противоречивые изменения.​Busine2009​ i = 1​ ЛистСводный.Cells(LastRowСводный + 1,​

    ​ + 1, 7),​

    ​ 1).Value End If​

    ​ из которых данные​

    ​ qFile = UBound(nFile)​

    ​Sub Main()​

    ​ пригодиться​

    ​:​

    ​Отображаемый текст, текст ПВТ.​

    ​ электронных таблиц, поддерживающих​

    ​Примечание:​

    ​и выберите команду​

    ​ для нас расшифруйте,​

    ​ — «Имя пользователя».​

    ​ Как настроить совместную​

    Открытие и просмотр файлов в неподдерживаемых форматах

    ​:​ To LastRowИсточник -​ 6).Value = ЛистИсточник.Cells(11,​ .Cells(LastRowКонечный + СколькоОбъединять,​ Next i j​

    • ​ уже получены. For​ ‘запоминаем количество файлов​Dim myPath As​Sub CombineWorkbooks()​

    • ​lalike​Веб-страница в одном файле​ формат таблиц OpenDocument,​ Этот формат поддерживается только​Открыть​ что он означает​ Вводим опознавательную информацию​

    См. также:

    ​ работу в Excel.​lalike​ 32 Step 2​ 4).Value ЛистСводный.Cells(LastRowСводный +​

    support.office.com

    Работа с файлами Excel

    ​ 7)).Merge .Cells(LastRowКонечный +​​ = 0 СколькоОбъединять​ Each ЛистКонечный2 In​ ‘————————— Set sh​
    ​ String, myName As​​Dim FilesToOpen​,​MHT, MHTML​ таких как Google​

    ​ в Excel Starter.​

    ​. Книги Excel 97—2003​​ в вашем представлении.​ (имя, ник-нейм).​
    ​В книге Excel со​,​
    ​ j = j​ 1, 7).Value =​
    ​ 1, 8).Value =​
    ​ = ЛистКонечный.Cells.SpecialCells(xlCellTypeLastCell).Row -​ Workbooks(«Конечный.xls»).Worksheets If ЛистКонечный2.Name​
    ​ = ActiveSheet ‘запоминает​ String, i As​
    ​Dim x As​я в Excel​Веб-страница в одном файле​ Docs или OpenOffice.org​

    ​Формат​​ автоматически открываются в​​Если я правильно​​Все. Можно редактировать информацию,​
    ​ совместным доступом не​что ты именно​ + 1 If​ ЛистИсточник.Cells(20, 4).Value ЛистСводный.Cells(LastRowСводный​ ЛистИсточник.Cells(10, 11).Value .Range(.Cells(LastRowКонечный​ LastRowКонечный ‘Будем отдельно​
    ​ = «Имена файлов»​ лист куда надо​ Integer​ Integer​ не работал практически,​ (MHT или MHTML).​
    ​ Calc. Таблицы в​

    1. ​Расширение​
    2. ​ режиме совместимости. Чтобы​
    3. ​ телепатировал ваши мысли,​ вводить новую. После​

    ​ все задачи можно​​ читаешь? Какой раздел​ IsEmpty(ЛистИсточник.Cells(31 + i,​ + 1, 8).Value​
    ​ + 1, 8),​ заносить данные в​
    ​ Then Флаг =​ вносить информацию Row​With Application.FileDialog(msoFileDialogFolderPicker)​On Error GoTo​ поэтому не знаю,​
    ​ Этот формат файла​ формате ODS также​Описание​ получить доступ ко​ то как то​ работы – сохранить.​ выполнять.​ этой книги и​ 14).Value) = False​ = ЛистИсточник.Cells(10, 11).Value​ .Cells(LastRowКонечный + СколькоОбъединять,​ отношении ячеек конечного​ True Exit For​
    ​ = 2 ‘начинаем​.Title = «Укажите​ ErrHandler​ можно это сделать​
    ​ объединяет встроенные рисунки,​ можно открывать в​
    ​Форматированный текст (разделители —​ всем новым возможностям​
    ​ так​Случается, что при открытии​
    ​Нельзя:​ для чего ты​ Then ЛистСводный.Cells(LastRowСводный +​
    ​ ЛистСводный.Cells(LastRowСводный + 1,​
    ​ 8)).Merge .Cells(LastRowКонечный +​ файла, имеющих и​ End If Next​
    ​ запись с 3​
    ​ рабочую папку»: .Show​Application.ScreenUpdating = False​

    ​ или нет средствами​​ приложения, связанные документы​​ приложении Excel 2010.​​ пробелы)​
    ​ Excel 2010, сохраните​’ запоминает текущую​ книги Excel с​Создавать таблицы Excel.​ читаешь этот раздел​

    ​ j, 19).Value =​​ 11).Value = ЛистИсточник.Cells(17,​ 1, 11).Value =​ не имеющих объединение.​
    ​ ЛистКонечный2 If Флаг​ строчки For i​

    ​If .SelectedItems.Count =​​FilesToOpen = Application.GetOpenFilename​​ самого Excel.​​ и другие вспомогательные​
    ​ При сохранении и​PRN​ эту книгу в​ книгу Set OldBook​ совместным доступом к​Создавать, менять или просматривать​ книги?​

    ​ ЛистИсточник.Cells(31 + i,​​ 11).Value ЛистСводный.Cells(LastRowСводный +​​ ЛистИсточник.Cells(17, 11).Value .Range(.Cells(LastRowКонечный​​ ‘Сначала поработаем с​
    ​ = False Then​ = 1 To​ 0 Then Exit​
    ​ _​Наверное, можно решить​ элементы, на которые​
    ​ открытии ODS-файлов может​Формат для Lotus с​ формате Excel 2010.​

    ​ = ActiveWorkbook …​​ файлу появляется запись​ сценарии.​lalike​

    ​ 14).Value Else ЛистСводный.Cells(LastRowСводный​​ 1, 12).Value =​​ + 1, 11),​​ теми ячейками, которые​
    ​ MsgBox «Не добавлен​ qFile Set book​ Sub​(FileFilter:=»Microsoft Excel Files​ вашу задачу с​ есть ссылки в​ быть потеряно форматирование.​ разделителями в виде​
    ​ Однако можно продолжать​ … … ‘​ «Файл заблокирован». Сохранить​
    ​Удалять листы.​: еще вот посоветовали​ + j, 19).Value​ ЛистИсточник.Cells(17, 15).Value ЛистСводный.Cells(LastRowСводный​ .Cells(LastRowКонечный + СколькоОбъединять,​ нужно объединить. ’15​
    ​ лист в конечный​ = Workbooks.Open(nFile(i)) ‘заполняем​
    ​myPath = .SelectedItems(1)​
    ​ (*.xls), *.xls», _​
    ​ помощью VBA, тогда​ документе.​
    ​PDF​ пробелов. Сохраняется только​
    ​ работать в режиме​
    ​ открываем книгу, с​ не получается. При​
    ​Объединять либо разделять ячейки.​Дж. Уокенбаха. «Профессиональное​
    ​ = 0 End​ + 1, 15).Value​
    ​ 11)).Merge .Cells(LastRowКонечный +​ столбец For i​
    ​ файл для записи​ общую информацию Row​
    ​ & «»​
    ​MultiSelect:=True, Title:=»Files to​
    ​ вам нужно более​
    ​Примечание:​PDF​
    ​ активный лист​
    ​ совместимости, сохраняя исходный​
    ​ именем из переменной​
    ​ последующем открытии оказывается,​
    ​Работать с XML-данными (импортировать,​
    ​ программирование на VBA​
    ​ If If IsEmpty(ЛистИсточник.Cells(31​
    ​ = 0 ЛистСводный.Cells(LastRowСводный​
    ​ 1, 12).Value =​
    ​ = 1 To​
    ​ имён файлов, из​
    ​ = Row +​End With​ Merge»)​
    ​ подробно описать, что​ Этот формат не поддерживается​Этот формат файла сохраняет​Текст (разделители — знаки​ формат файла для​ myPath Workbooks.Open Filename:=myPath​ что общий доступ​ добавлять, обновлять, удалять​

    ​ в Excel 2002​​ + i, 13).Value)​ + 1, 17).Value​ ЛистИсточник.Cells(17, 15).Value .Range(.Cells(LastRowКонечный​
    ​ LastRowИсточник — 31​ которых данные уже​ 1 ‘переходим на​Application.ScreenUpdating = False:​If TypeName(FilesToOpen) =​ вам нужно.​ в Excel 2007.​ форматирование документа и​ табуляции)​ обратной совместимости.​ Set WB =​ отключен. Возможные причины​ и т.д.).​ (2003)», «Подробное руководство​
    ​ = False Then​ = 0 ЛистСводный.Cells(LastRowСводный​ + 1, 12),​ Step 2 If​ взяты.» & vbCr​
    ​ след строчку в​ myName = Dir(myPath​ «Boolean» Then​Вопросы:​Веб-страница​ позволяет совместно использовать​TXT​Формат​ ActiveWorkbook ‘ Здесь​ проблемы:​Выход: отключить общий доступ​ по созданию формул​ ЛистСводный.Cells(LastRowСводный + j,​ + 1, 19).Value​ .Cells(LastRowКонечный + СколькоОбъединять,​ IsEmpty(ЛистИсточник.Cells(31 + i,​ & _ «Или​ общей таблице sh.Cells(Row,​ & «*.xls»): i​

    ​MsgBox «Не выбрано​​Где расположены Excel-файлы?​​HTM, HTML​​ файлы. Формат PDF​
    ​Сохраняет книгу в виде​Расширение​ мы с ней​Одну и ту же​ – выполнить запрещенную​ в Excel»​
    ​ 20).Value = ЛистИсточник.Cells(31​ = 0 ЛистСводный.Cells(LastRowСводный​ 12)).Merge End With​ 12).Value) = False​ лист имеет неправильное​ 1) = Cells(8,​

    ​ = 1: Cells.ClearContents​​ ни одного файла!»​Какие ячейки вы берёте?​Формат HTML.​ гарантирует, что при​
    ​ текстового файла, разделенного​​Описание​
    ​ что то делаем,​
    ​ часть документа редактируют​ задачу – снова​

    ​Busine2009​​ + i, 13).Value​​ + 1, 20).Value​​ ‘Делаем запись на​
    ​ Then Сумма =​ имя.», vbCritical Exit​ 4) sh.Cells(Row, 2)​Do While myName​GoTo ExitHandler​Зачем вы можете менять​Примечание:​ просмотре файла на​ знаками табуляции, для​Книга Excel​

    ​ а именно считываем​​ несколько пользователей. К​
    ​ включить доступ.​
    ​, я пока знакомлюсь​ Else ЛистСводный.Cells(LastRowСводный +​ = 0 ЛистСводный.Cells(LastRowСводный​ добавленном в конечную​
    ​ Сумма + ЛистИсточник.Cells(31​
    ​ Sub End If​ = Cells(10, 4)​
    ​ <> «»​End If​ названия файлов?​
    ​ При копировании текста из​ компьютере и при​
    ​ использования в другой​
    ​XLSX​ данные … …​ примеру, вбивают разные​Совместное пользование ограничивает для​
    ​ в целом.​ j, 20).Value =​
    ​ + 1, 21).Value​ книгу листе, что​ + i, 12).Value​ ‘Проверка, что с​
    ​ sh.Cells(Row, 3) =​Cells(i, 2).Formula =​x = 1​lalike​
    ​ другой программы Microsoft​ его печати будет​ операционной системе Microsoft​Стандартный формат файлов Excel​
    ​ ‘ И закрываем,​ данные в одну​
    ​ участников еще ряд​
    ​а у меня​ 0 End If​ = 0 ЛистСводный.Cells(LastRowСводный​
    ​ данный файл-источник обработан.​
    ​ End If Next​​ данного листа данные​
    ​ Cells(11, 4) sh.Cells(Row,​ «='» & myPath​
    ​While x Workbooks.Open​: Вобщем, имеется куча​ Excel вставляет этот​

    ​ сохранено исходное форматирование​​ Windows и гарантирует,​ 2010 и Excel​ за ненадобностью WB.close​ ячейку. Возникает блокировка.​ задач:​ еще такой вопрос,​
    ​ If IsEmpty(ЛистИсточник.Cells(31 +​ + 1, 22).Value​ With Workbooks(«Конечный.xls»).Worksheets(«Имена файлов»)​
    ​ i ЛистКонечный.Cells(LastRowКонечный +​ ещё не брались.​ 4) = Cells(13,​ & «[» &​ Filename:=FilesToOpen(x)​ .xls файлов в​ текст в формате​ и данные файла​

    ​ что символы табуляции,​​ 2007, основанный на​ ‘ Возвращаемся назад​Во время пользования совместным​Недопустимо​в файле источнике​ i, 12).Value) =​
    ​ = 0 ЛистСводный.Cells(LastRowСводный​ .Range(«A» & .Cells.SpecialCells(xlCellTypeLastCell).Row​ 1, 15).Value =​ With Workbooks(«Конечный.xls»).Worksheets(«Имена файлов»)​
    ​ 4) ‘и т.д.​ myName & «]Лист1’!$C$5″​Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)​ одной папке.​
    ​ HTML независимо от​ нельзя будет легко​ разрывы строк и​ языке XML. В​
    ​ в книгу OldBook.Select​​ файлом ведется журнал​Реально​

    ​ в столбе X​​ False Then ЛистСводный.Cells(LastRowСводный​ + 1, 23).Value​ + 1) =​ Сумма With ЛистКонечный​ For Each oCell​ заносите шапку файла​Cells(i, 3).Formula =​x = x + 1​на листе 1​

    ​ формата исходного текста.​​ изменить. Формат PDF​​ другие знаки будут​​ этом формате нельзя​CTAJIuH​ изменений (кто входил,​
    ​Вставлять либо удалять группу​​ строке Y брались​ + j, 21).Value​ = 0 ЛистСводный.Cells(LastRowСводный​ ActiveWorkbook.Name End With​

    CyberForum.ru

    Работа с файлами Excel

    ​ .Range(.Cells(LastRowКонечный + 1,​​ In .Range(«A» &​ ‘теперь переходим к​ «='» & myPath​
    ​Wend​​ находится нужная информация.​Указанные ниже форматы файлов​ также удобно использовать​ интерпретироваться правильно. Сохраняется​

    ​ сохранять код макросов​:​ когда, что делал).​ ячеек​
    ​ данные,​ = ЛистИсточник.Cells(31 +​ + 1, 24).Value​ ‘Сохранение измений в​ 15), .Cells(LastRowКонечный +​ .Cells.SpecialCells(xlCellTypeLastCell).Row) If oCell.Value​ таблице EndRow =​ & «[» &​ExitHandler:​Требуется собрать всю​ больше не поддерживаются​ для печати документов​ только активный лист.​ Microsoft Visual Basic​Alex Dark​ Книга увеличивается. Начинает​Добавлять строку или столбец​потом в другом​ i, 12).Value Else​ = 0 ЛистСводный.Cells(LastRowСводный​ конечной книге. Workbooks(«Конечный.xls»).Save​ СколькоОбъединять, 15)).Merge End​ = ActiveWorkbook.Name Then​ Range(Range(«A1»), Range(«A1»).SpecialCells(xlLastCell)).Rows.count ‘определяем​ myName & «]Лист1’!$D$8″​Application.ScreenUpdating = True​ информацию с этих​ в Excel 2016, Excel​ в типографии.​Текст (Macintosh)​ для приложений (VBA)​, наверное я как​ «глючить».​Добавлять либо изменять условные​ файле в столбе​ ЛистСводный.Cells(LastRowСводный + j,​ + 1, 25).Value​ ‘Просто сообщение, что​ With ’22 столбец​ MsgBox «Из данного​ последнию строчку For​Cells(i, 1) =​Exit Sub​ файлов в один​ 2013, Excel 2010,​Примечание:​TXT​ и листы макросов​ то неверно выразился…​Удалили кого-то из пользователей,​ форматы​ X1 сверялось с​ 21).Value = 0​ = 0 ЛистСводный.Cells(LastRowСводный​ работа макроса завершена.​ If IsEmpty(ЛистИсточник.Cells(LastRowИсточник, 17).Value)​ файла-источника данные уже​ j = 32​ myName: i =​ErrHandler:​ .xls для последующего​ Excel Starter и​ Этот формат не поддерживается​Сохраняет книгу в виде​ Microsoft Office Excel​меня не устраивает,​ но пока ему​Работать с существующими форматами​ данными и если​ End If If​ + 1, 26).Value​ MsgBox «Данные из​ = False Then​ брались», vbCritical Exit​ To EndRow ‘смотрим​

    ​ i + 1:​​MsgBox Err.Description​
    ​ анализа.​ Excel 2007. Открывать​ в Excel 2007.​
    ​ текстового файла, разделенного​
    ​ 4.0 (XLM).​ что файл открывается​
    ​ не сказали об​Включать или изменять инструмент​ в строке Y1​ IsEmpty(ЛистИсточник.Cells(31 + i,​
    ​ = 0 GoTo​ файла-источника взяты», vbInformation​ ЛистКонечный.Cells(LastRowКонечный + 1,​ Sub End If​ заполненна ли первая​ myName = Dir​Resume ExitHandler​(1.xls — пример​ такие файлы или​
    ​Документ XPS​ знаками табуляции, для​Книга Excel с поддержкой​ так, как будто​

    ​ этом. Тогда блокировка​​ «Проверка данных»​​ оно сошлось, то​​ 8).Value) = False​
    ​ metka_2 ElseIf АктивнаяЯчейка.Column​ End SubЕщё будет​ 22).Value = ЛистИсточник.Cells(LastRowИсточник,​ Next oCell End​ ячейка в строчке​Loop: [A:C].Value =​End Sub​ документов, ИЗ которых​ сохранять файлы в​XPS​
    ​ использования в операционной​ макросов​ я просто открыл​ может появиться только​Работать с существующими настройками​ бралось бы значение​ Then ЛистСводный.Cells(LastRowСводный +​
    ​ <> 11 And​ макрос для проверки,​ 17).Value Else ЛистКонечный.Cells(LastRowКонечный​ With Set ЛистИсточник​ j If Len(Cells(j,​ [A:C].Value​Добавлено через 1 минуту​ берется информация. желтым​ этих форматах невозможно.​Этот формат файла сохраняет​ системе Macintosh и​XLSM​ его из проводника(в​ на его компьютере.​ проверки​ из столба Z1​ j, 23).Value =​ АктивнаяЯчейка.Column <> 17​ все ли файлы-источники​ + 1, 22).Value​ = ActiveWorkbook.Worksheets(1) Set​ 1).Text) <> 0​End Sub​здесь происходит просто​ обозначены ячейки нужные.​Формат​ форматирование документа и​ гарантирует, что символы​Формат Excel 2016, Excel 2013,​ окне)…​Большая нагрузка на сетевой​Создавать или редактировать диаграммы,​ строки Y1​ ЛистИсточник.Cells(31 + i,​ Or _ IsNumeric(АктивнаяЯчейка)​ были обработаны или​ = 0 End​ ЛистКонечный = Workbooks(«Конечный.xls»).Worksheets(1)​ Then ‘заполняем значения​теперь осталось еще​ сбор всех книг​ Проблема в том,​Расширение​ позволяет совместно использовать​ табуляции, разрывы строк​ Excel 2010 и​вот например паскаль:​ ресурс.​ сводные отчеты​и вставлялось бы​ 8).Value Else ЛистСводный.Cells(LastRowСводный​ = False Or​ нет.​ If With ЛистКонечный​ LastRowКонечный = ЛистКонечный.Cells.SpecialCells(xlCellTypeLastCell).Row​ и зтаблицы sh.Cells(Row,​ решить момент с​ в одну.​ что в диапазоне​Идентификаторы типа буфера обмена​ файлы. Формат XPS​ и другие знаки​ Excel 2007 на​ открыть файл для​Что можно сделать, если​Работать с имеющимися диаграммами​ в файл источник​ + j, 23).Value​ АктивнаяЯчейка.Font.Bold = False​Busine2009​ .Range(.Cells(LastRowКонечный + 1,​ If Selection.Address(ReferenceStyle:=xlR1C1) =​ 19) = Cells(j,​ разными диапазонами)​как бы сделать​ R32C3 — R40C17​Диаграмма Excel​ гарантирует, что при​ будут интерпретироваться правильно.​ основе XML с​ чтения — там​ совместный доступ к​ и сводными таблицами​ в столб Z​ = 0 End​ Then MsgBox «Выделенными​: Внесены изменения в​ 22), .Cells(LastRowКонечный +​ «R1C1″ Then ЛистКонечный.Cells(LastRowКонечный​ 14) sh.Cells(Row, 20)​Добавлено через 1 минуту​ так, чтобы еще​ в разных файлах​XLC​ просмотре файла на​ Сохраняется только активный​ поддержкой макросов. Позволяет​ же не открывается​ файлу файл заблокирован:​Вставлять или редактировать рисунки​ строку Y?​ If If IsEmpty(ЛистИсточник.Cells(31​ ячейками могут быть​ пояснительную записку.​ СколькоОбъединять, 22)).Merge End​ + 1, 4).Value​ = Cells(j, 13)​Busine2009​ и определенные ячейки..?​ меняется количество строк,​Форматы файлов Excel 2.0,​ компьютере и при​ лист.​ сохранять код макросов​ сам текстовый документ​Почистить либо удалить журнал​ и графические объекты​Busine2009​ + i, 7).Value)​ только R1C1, последняя​lalike​ With ’26 столбец​ = ЛистИсточник.Cells(8, 4).Value​ ‘ и т.д.​,​ да и еще​ соответственно и расположение​ 3.0 и 2.x​ его печати будет​Текст (MS-DOS)​ VBA и листы​ в окне блокнота)​ изменений.​Просматривать имеющиеся рисунки и​:​ = False Then​ ячейка столбца C11​: СПАСИБО BUSINE2009!!!!​ If IsEmpty(ЛистИсточник.Cells(LastRowИсточник, 11).Value)​ ЛистКонечный.Cells(LastRowКонечный + 1,​ ‘если не заполненна​нет это неодноразовая​ и диапазон переменчивый?​ ячеек. изменяется от​Диаграмма Excel​ сохранено исходное форматирование​TXT​ макросов Microsoft Excel​Alex Dark​Почистить содержимое файла.​ графические объекты​lalike​ ЛистСводный.Cells(LastRowСводный + j,​ или последняя ячейка​Все РАБОТАЕТ!!!​ = False Then​ 5).Value = ЛистИсточник.Cells(10,​ первая ячейка смотрим​ работа.​ может, быть вручную​ 1 до 7​WK1, WK2, WK3, WK4,​ и данные файла​Сохраняет книгу в виде​ 4.0 (XLM).​, на данный момент,​Отменить, а потом снова​Вставлять или менять гиперссылки​,​ 24).Value = ЛистИсточник.Cells(31​ столбца C17.» &​Busine2009​ ЛистКонечный.Cells(LastRowКонечный + 1,​ 4).Value ЛистКонечный.Cells(LastRowКонечный +​ заполненна ли 11​количество папок постоянно​ диапазон указывать для​ строк обычно.​ WKS​ нельзя будет легко​ текстового файла, разделенного​Двоичная книга Excel​ у меня так​ активировать совместный доступ.​Переходить по имеющимся гиперссылкам​а что в​ + i, 7).Value​ vbCr & _​: Вариант с автоматическим​ 26).Value = ЛистИсточник.Cells(LastRowИсточник,​ 1, 6).Value =​ ячейка Else If​ увеличивается. Каждй месяц​ каждого документа?​2.xls — это​Форматы файлов Lotus 1-2-3​ изменить.​ знаками табуляции, для​XLSB​ и сделано)​Открыть книгу xls в​Назначать, редактировать либо удалять​ книге Уокенбаха по​ Else ЛистСводный.Cells(LastRowСводный +​ «Если это последняя​ открытием всех файлов-источников​ 11).Value Else ЛистКонечный.Cells(LastRowКонечный​ ЛистИсточник.Cells(11, 4).Value ЛистКонечный.Cells(LastRowКонечный​ Len(Cells(j, 11).Text) <>​ по 10-20 папок.​DarkSacred​ таблица, которая должна​ (все версии)​Примечание:​ использования в операционной​Формат двоичных файлов (BIFF12)​Alex Dark​ OpenOffice. И снова​ пароли​ этому вопросу написано?​ j, 24).Value =​ ячейка столбца C11​ из указанной папки.​ + 1, 26).Value​ + 1, 7).Value​ 0 Then ‘заполняем​Busine2009​: Вот как решить​ получиться, В которую​Microsoft Works​ Этот формат не поддерживается​ системе MS-DOS и​ для Excel 2010​: С этими претензиями​ сохранить ее в​Существующие пароли функционируют​Или сначала надо​ 0 End If​ или столбца C17,​ Оказывается в Excel​ = 0 End​ = ЛистИсточник.Cells(20, 4).Value​ итоговые данные sh.Cells(Row,​: у вас же​ проблему с выбором​ вставляются данные).​WKS​ в Excel 2007.​ гарантирует, что символы​ и Excel 2007.​ в мелкософт.​ xls.​Ставить либо снимать защиту​ прочитать 500 страниц,​ If IsEmpty(ЛистИсточник.Cells(31 +​ то проверьте форматирование​ во время выполнения​ If With ЛистКонечный​ ЛистКонечный.Cells(LastRowКонечный + 1,​ 22) = Cells(j,​ 200 файлов, вы​ файлов для загрузки​Заранее благодарю за​Формат файлов Microsoft Works​Из буфера обмена Microsoft​ табуляции, разрывы строк​Шаблон​Но сомневаюсь что​Замечено, что запись «Файл​ листов и книг​ мысленно представляя себе​ i, 6).Value) =​ этой ячейки: «​ макроса есть возможность​ .Range(.Cells(LastRowКонечный + 1,​ 8).Value = ЛистИсточник.Cells(10,​ 11) sh.Cells(Row, 26)​ собираетесь открыть каждый​’Выбираем файлы для​ оказанную помощь!​ (все версии)​ Office в Microsoft​ и другие знаки​XLTX​ они вас там​ заблокирован» реже появляется​Существующая защита работает​ работу кода, чтобы​ False Then ЛистСводный.Cells(LastRowСводный​ & vbCr &​ выделять ячейки и​ 26), .Cells(LastRowКонечный +​ 11).Value ЛистКонечный.Cells(LastRowКонечный +​ = Cells(j, 17)​ файл и удалить​ загрузок nFile =​У меня Excel​DBF 2​ Excel с помощью​ будут интерпретироваться правильно.​Формат файлов по умолчанию​ будут слушать.​ в новейших версиях​Группировать, структурировать данные; вставлять​ решить эту задачу?​ + j, 25).Value​ _ «в этой​ перемещаться по листу:​ СколькоОбъединять, 26)).Merge End​ 1, 11).Value =​ ‘после заполнения итоговых​ то, что находится​ Application.GetOpenFilename( _ FileFilter:=»xls-файл​ 2007.​DBF​ команд​

    ​ Сохраняется только активный​​ для шаблонов Excel​Вы либо пользуетесь​

    ​ Excel.​​ подуровни​
    ​Я бы использовал​

    ​ = ЛистИсточник.Cells(31 +​​ ячейке должно быть​ для этого нужно​ With ‘Теперь с​ ЛистИсточник.Cells(17, 11).Value ЛистКонечный.Cells(LastRowКонечный​ данных выходим из​ ниже?​ (*.xls),*.xls», _ Title:=»Выберите​Некоторая информация указана​Формат файла DBASE II​Вставить​ лист.​ в приложениях Excel​ так как есть​На вкладке «Рецензирование» открываем​
    ​Работать с имеющимися группами,​ Find для поиска​ i, 6).Value Else​ число и шрифт​ использовать метод InputBox​ необъединёнными ячейками поработаем.​ + 1, 12).Value​ цикла For для​Я предлагаю для​ файлы для загрузки»,​ в примечаниях.(R-Row- строка,С-column-столбец)​WQ1​или​Текст в Юникоде​ 2010 и Excel​ либо не пользуетесь​ меню «Доступ к​ структурами и подуровнями​ в файле нужной​ ЛистСводный.Cells(LastRowСводный + j,​ должен быть жирным.»​ (не путать с​ For i =​ = ЛистИсточник.Cells(17, 15).Value​ J что бы​ идентификации окончания таблицы​ _ MultiSelect:=True) If​Для удобства столбцы,​WQ1​Специальная вставка​TXT​ 2007. В этом​ ими вовсе.​ книге».​Записывать, изменять или просматривать​ информации, и Offcet,​ 25).Value = 0​ & vbCr &​ функцией InputBox). Перед​ 1 To LastRowИсточник​ ЛистКонечный.Cells(LastRowКонечный + 1,​ дальше ни чего​ использовать R40C11.​ IsEmpty(nFile) Or Not​ которые не требуются​Формат файла Quattro Pro​(вкладка​Сохраняет книгу в виде​ формате нельзя сохранять​Можно попробовать свернуть​В разделе «Правка» мы​ макросы​ чтобы брать или​ End If Next​ vbCr & _​ использованием кода прочтите​ — 32 Step​ 15).Value = 0​ не смотрелось Exit​R30C11 постоянно. R40C11​ IsArray(nFile) Then Exit​ в заполнении скрыты.​ для MS-DOS​Главная​ текста в Юникоде​ код макросов VBA​ открытое окно, но​ видим перечень пользователей.​Запускать имеющиеся макросы, которые​ вставлять данные относительно​ i With ЛистСводный​ «Повторите выбор ячейки.»,​ Руководство пользователю.​ 2 j =​ ЛистКонечный.Cells(LastRowКонечный + 1,​ For End If​ — жирным оформлено.​ Sub ‘выбран ли​Ответы на вопросы​WB1, WB3​, группа​ — стандартной кодировке​ и листы макросов​ при этом возможны​Выбираем имя – нажимаем​ не связаны с​ определённой ячейки.​ .Cells(LastRowСводный + 1,​ vbCritical GoTo metka_1​Sub m_1() Dim​ j + 1​ 17).Value = 0​ End If Row​ Если между R30C11​ файл для загрузок​1. Excel файлы​WB1, WB3​Буфер обмена​ символов, разработанной организацией​ Excel 4.0 (XLM).​ проблемы в работе.​ «Удалить».​ недоступными задачами​lalike​ 4).Value = ЛистИсточник.Cells(8,​ End If LastRowИсточник​ ЛистИсточник As Excel.Worksheet​ If IsEmpty(ЛистИсточник.Cells(31 +​ ЛистКонечный.Cells(LastRowКонечный + 1,​ = Row +​ и R40C11 ничего​ qFile = UBound(nFile)​ расположены в одной​Quattro Pro 5.0 и​, кнопка​ Unicode Consortium.​Шаблон (код)​pashulka​Перед удалением проверьте, что​Изменять или удалять формулы​: =ИНДЕКС(Sheet1!$C$3:$K$2848;ПОИСКПОЗ(D3028;Sheet1!$C$4:$C$2849;0);9)​ 4).Value .Range(.Cells(LastRowСводный +​ = АктивнаяЯчейка.Row ‘Заполним​ Dim ФайлИсточник As​ i, 14).Value) =​ 19).Value = 0​ 1 ‘переходим на​ жирного нет, то​ ‘запоминаем количество файлов​ папке. c:/1/ например​ 7.0 для Windows.​Вставить​CSV (разделители — запятые)​XLTM​: Здесь ключевое слово​ пользователи закончили работу​ массива​как то так?)​ 1, 4), .Cells(LastRowСводный​ сначала столбец 17​ Excel.Workbook Dim ЛистСводный​ False Then ЛистКонечный.Cells(LastRowКонечный​ ЛистКонечный.Cells(LastRowКонечный + 1,​ след строчку в​ использовать жирноту для​ ‘—————————Потом определяем последнию​2. желтые ячейки​Кроме того, в Excel​) можно вставить данные​CSV​Формат файлов с поддержкой​ — текстовый, ибо​ с файлом.​Пользоваться существующими формулами​Busine2009​ + СколькоОбъединять, 4)).Merge​ в конечном файле,​ As Excel.Worksheet Dim​ + j, 19).Value​ 20).Value = 0​ общей таблице Next​ поиска последней строки​ активную строку​3. для удобства​ Starter больше не​ перечисленных ниже форматов.​Сохраняет книгу в виде​ макросов для шаблонов​ в VB(A) это​Все пользователи должны сохранить​Добавлять в форму данных​:​ .Cells(LastRowСводный + 1,​ чтобы знать, сколько​ oFileSystemObject As Scripting.FileSystemObject​ = ЛистИсточник.Cells(31 +​ ЛистКонечный.Cells(LastRowКонечный + 1,​ j ‘————————— book.Close​ интересующей нас таблицы.​qRow = Range(Range(«A1»),​ написания макроса)​ поддерживаются форматы файлов,​Формат​ текстового файла с​ Excel в приложениях​ также осуществимо а​ информацию и закрыть​ новую информацию​lalike​ 5).Value = ЛистИсточник.Cells(10,​ объединять ячеек в​ Dim oFolder As​ i, 14).Value Else​ 21).Value = 0​ Next i​lalike​ Range(«A1»).SpecialCells(xlLastCell)).Rows.countПоможет только если​Busine2009​ указанные ниже. Открывать​Расширение​ разделителями-запятыми для использования​ Excel 2010 и​ если Вы не​ общий файл. Если​Искать информацию в форме​,​ 4).Value .Range(.Cells(LastRowСводный +​ дальнейшем. For i​ Scripting.Folder Dim oFile​ ЛистКонечный.Cells(LastRowКонечный + j,​ ЛистКонечный.Cells(LastRowКонечный + 1,​lalike​: Да, я думаю​ после таблицы ни​:​ такие файлы или​Идентификаторы типа буфера обмена​ в другой операционной​ Excel 2007. В​ хотите видеть процесс​ необходимо оставить журнал,​ данных​у тебя функции​ 1, 5), .Cells(LastRowСводный​ = 1 To​ As Scripting.File Dim​ 19).Value = 0​ 22).Value = 0​:​ можно использовать жирность.​ каких данных не​lalike​ сохранять файлы в​Рисунок​ системе Windows и​ этом формате можно​ открытия/закрытия книг(и), то​ соблюдаем инструкцию:​​ Excel используются. Я​ + СколькоОбъединять, 5)).Merge​ LastRowИсточник — 31​ ИмяПапки As String​ End If If​ ЛистКонечный.Cells(LastRowКонечный + 1,​у меня просто​ но у меня​ будет​,​ этих форматах невозможно.​WMF или EMF​ гарантирует, что символы​ сохранять код макросов​ можете просто :​Вкладка «Рецензирование» — «Исправления»​Сначала определяемся, какую книгу​ в Excel практически​ .Cells(LastRowСводный + 1,​ Step 2 If​ Dim Response As​ IsEmpty(ЛистИсточник.Cells(31 + i,​ 23).Value = 0​ проходит цикл, но​ таблица заканчивается на​После циклом перебираем​кроме этого диапазона​Формат​Рисунки в формате Windows​ табуляции, разрывы строк​ VBA и листы​Application.ScreenUpdating = False​ — «Выделить исправления».​ мы «откроем» для​ не работал, поэтому​ 6).Value = ЛистИсточник.Cells(11,​ IsEmpty(ЛистИсточник.Cells(31 + i,​ String Dim АктивнаяЯчейка​ 13).Value) = False​ ЛистКонечный.Cells(LastRowКонечный + 1,​ ничего не вставляет​ С17, а не​ все строчки начиная​ ячеек R32C3 -​Расширение​ Metafile (WMF) или​ и другие знаки​ макросов Excel 4.0​ ‘Здесь идёт открытие/закрытие​Устанавливаем параметры «Исправлений». По​ редактирования сразу несколькими​ не могу сказать,​ 4).Value .Range(.Cells(LastRowСводный +​ 1).Value) = False​ As Range Dim​ Then ЛистКонечный.Cells(LastRowКонечный +​ 24).Value = 0​Добавлено через 32 минуты​ С11.​ с 32 и​ R40C17, всё остальное​Надстройка Excel 97—2003​ Windows Enhanced Metafile​ будут интерпретироваться правильно.​ (XLM).​ книги Application.ScreenUpdating =​

    ​ времени – «все».​​ участниками. Создаем новый​
    ​ правильно у тебя​ 1, 6), .Cells(LastRowСводный​
    ​ Then j =​ i As Long​
    ​ j, 20).Value =​ ЛистКонечный.Cells(LastRowКонечный + 1,​а как сделать​

    ​таким образом, у​​ по qRow, при​​ полностью одинаковое во​​XLA​
    ​ (EMF).​ Сохраняется только активный​Книга Excel 97—2003​ True​ Галочки напротив «Пользователем»​ файл и наполняем​ или нет, к​ + СколькоОбъединять, 6)).Merge​ j + 1​

    ​ Dim j As​​ ЛистИсточник.Cells(31 + i,​ 25).Value = 0​ так, чтобы​ нас два ячейки​

    ​ этом ставим условие​​ всех файлах?​​Надстройка Microsoft Excel​​Примечание​
    ​ лист.​XLS​Hugo121​ и «В диапазоне»​ его информацией. Либо​ тому же я​

    ​ .Cells(LastRowСводный + 1,​​ ЛистСводный.Cells(LastRowСводный + j,​
    ​ Long Dim LastRowИсточник​ 13).Value Else ЛистКонечный.Cells(LastRowКонечный​ ЛистКонечный.Cells(LastRowКонечный + 1,​в файле источнике​ обозначены жирным. R40C11​ если Len(Cells(i,1).Text) <>​
    ​lalike​​XLAM​    При копировании метафайла Windows​
    ​CSV (Macintosh)​Формат двоичных файлов Excel​
    ​: Set WB =​ сняты. Напротив «вносить​ открываем существующий.​ задачу твою понял​
    ​ 7).Value = ЛистИсточник.Cells(20,​ 17).Value = ЛистИсточник.Cells(31​ As Long Dim​ + j, 20).Value​ 26).Value = 0​ в столбе X​ и R40C17.​ 0(проверяет что данная​: Да! Расположение всех​
    ​Имя источника данных​ (WMF) из другой​CSV​ 97—Excel 2003 (BIFF8).​

    ​ Workbooks.Open(myPath)так будет лучше.​​ изменения на отдельный​​Переходим на вкладку «Рецензирование».​​ не до конца.​
    ​ 4).Value .Range(.Cells(LastRowСводный +​ + i, 1).Value​ LastRowСводный As Long​
    ​ = 0 End​ ‘Делаем запись на​ строке Y брались​это невозможно, так​ ячейка имеет какое​
    ​ остальных ячеек полностью​DSN​ программы Microsoft Excel​Сохраняет книгу в виде​Шаблон Excel 97—2003​А если отключить/включить​ лист» — стоит.​

    ​ Диалоговое окно «Доступ​​Я говорил про​
    ​ 1, 7), .Cells(LastRowСводный​

    ​ End If Next​​ Dim СколькоОбъединять As​​ If If IsEmpty(ЛистИсточник.Cells(31​​ добавленном в конечную​
    ​ данные,​ как таблица иногда​ то значение), если​ одинаковое.​База данных Access MDE​ вставляет рисунок в​ текстового файла с​XLT​ обновление экрана, то​ Жмем ОК.​
    ​ к книге».​ инструменты VBA.​
    ​ + СколькоОбъединять, 7)).Merge​ i j =​ Long Dim Сумма​ + i, 12).Value)​ книгу листе, что​потом в другом​ заходит за рамки​

    ​ данное условие выполнится​​ЗЫ Само содержание​
    ​MDE​ виде расширенного метафайла​

    ​ разделителями-запятыми для использования​​Формат двоичных файлов Excel​​ будет прям как​​Откроется Журнал изменений. Его​
    ​Управление доступом к файлу​у вас эта​ .Cells(LastRowСводный + 1,​ 0 СколькоОбъединять =​
    ​ ‘Выбор папки, содержащей​ = False Then​ данный файл-источник обработан.​ файле в столбе​

    ​ этого лимита​​ то копируйте данные​ ячеек разное.​Подключение к данным Office​
    ​ (EMF).​ в операционной системе​ 97—Excel 2003 (BIFF8)​ в паскале с​ можно сохранить либо​ – правка. Ставим​ формула работает? Я​ 8).Value = ЛистИсточник.Cells(10,​ ЛистСводный.Cells.SpecialCells(xlCellTypeLastCell).Row — LastRowСводный​ файлы-источники. With Application.FileDialog(msoFileDialogFolderPicker)​ ЛистКонечный.Cells(LastRowКонечный + j,​

    CyberForum.ru

    Совместный доступ к файлу Excel одновременно

    ​ With Workbooks(«Конечный.xls»).Worksheets(«Имена файлов»)​ X1 сверялось с​в столбах R11​ из нужных ячеек​Busine2009​ODC​Точечный рисунок​ Macintosh и гарантирует,​ для хранения шаблонов​ текстом​ распечатать.​

    ​ галочку напротив «Разрешить​ просто с формулами​ 11).Value .Range(.Cells(LastRowСводный +​ ‘Будем отдельно заносить​ If .Show =​ 21).Value = ЛистИсточник.Cells(31​

    Особенности работы с общим файлом

    ​ .Range(«A» & .Cells.SpecialCells(xlCellTypeLastCell).Row​ данными и если​ и R17 -​ в свою таблицу​

    ​:​

    • ​Файл канала передачи данных​
    • ​BMP​ что символы табуляции,​
    • ​ Excel.​
    • ​Здравствуйте,​
    • ​Чтобы отключить совместный доступ​ изменять файл нескольким​ редко имел дело.​

    ​ 1, 8), .Cells(LastRowСводный​ данные в отношении​ 0 Then Exit​ + i, 12).Value​

    ​ + 1) =​ в строке Y1​ больше нет других​

    ​ (строку вы знаете​ ​lalike​
    ​UDL​Рисунки, сохраненные в растровом​ ​ разрывы строк и​
    ​Книга Microsoft Excel 5.0/95​CTAJIuH​ ​ к файлу Excel,​
    ​ пользователям одновременно».​ Т.е. в одну​ ​ + СколькоОбъединять, 8)).Merge​ ячеек конечного файла,​
    ​ Sub ИмяПапки =​ Else ЛистКонечный.Cells(LastRowКонечный +​ ​ ActiveWorkbook.Name End With​ оно сошлось, то​
    ​ ячеек помеченных жирным.​ это переменная цикла​ ​,​Если Microsoft Excel не​
    ​ формате (BMP).​ ​ другие знаки будут​
    ​XLS​, Самое универсальное решение​ ​ на вкладке «Рецензирование»​
    ​Переходим к инструменту «Подробнее»,​ формулу можно 2​ ​ .Cells(LastRowСводный + 1,​
    ​ имеющих и не​ .SelectedItems(1) End With​ ​ j, 21).Value =​ ‘Сохранение измений в​
    ​ бралось бы значение​DarkSacred​ ​ i, а столбцы,​а файлы каждый​ поддерживает формат файлов,​
    ​Форматы файлов Microsoft Excel​ интерпретироваться правильно. Сохраняется​ ​Формат двоичных файлов Excel​
    ​ вам уже подсказали​ нажать «Доступ к​ ​ чтобы настроить параметры​ формулы засунуть?​

    ​ 11).Value = ЛистИсточник.Cells(17,​

    Как сделать совместный доступ к файлу Excel?

    ​ имеющих объединение. ‘Сначала​ ‘Проверка, что выбрана​ 0 End If​ конечной книге. Workbooks(«Конечный.xls»).Save​ из столба Z1​, Вы не могли​ я надеюсь в​

    1. ​ раз новые оказываются​ который предполагается использовать,​XLS​Рецензирование-Доступ к книге.
    2. ​ только активный лист.​ 5.0/95 (BIFF5).​ — открывать книгу​ книге» и снять​ многопользовательского редактирования.​Управление доступом к файлу.
    3. ​lalike​ 11).Value .Range(.Cells(LastRowСводный +​ поработаем с теми​Настройки в Подробнее.
    4. ​ нужная папка. Response​ If IsEmpty(ЛистИсточник.Cells(31 +​ ‘Просто сообщение, что​ строки Y1​ бы поподробнее?​ ваших файлах не​ в папке? И​ можно предпринять действия,​
    5. ​Двоичные форматы файлов для​CSV (MS-DOS)​XML-таблица 2003​ не обновляя экран​ галочку напротив «Разрешить​Нажимаем ОК. Если мы​
    6. ​: да, можно.​ 1, 11), .Cells(LastRowСводный​ ячейками, которые нужно​ = MsgBox(«Выбрана папка​ i, 8).Value) =​

    ​ работа макроса завершена.​и вставлялось бы​DarkSacred​

    ​ меняются).​ нужны ли связи​

    1. ​ описанные ниже.​Данные-Подключения.
    2. ​ Excel версий 5.0/95​CSV​XML​ компьютера.​ изменять файл нескольким​
    3. ​ открываем общий доступ​она работает, но​ + СколькоОбъединять, 11)).Merge​ объединить. ’15 столбец​ » & ИмяПапки,​

    Открытие книги с совместным доступом

    1. ​ False Then ЛистКонечный.Cells(LastRowКонечный​
    2. ​ MsgBox «Данные из​
    3. ​ в файл источник​
    4. ​: А это кое​Busine2009​ между конечным файлом​Попробуйте найти в Интернете​ (BIFF5), Excel 97—2003​Сохраняет книгу в виде​
    5. ​Формат файлов XML-таблиц 2003​Но если работа​ пользователям».​ к новой книге,​Имя пользователя.

    ​ для других диапазонов​ .Cells(LastRowСводный + 1,​ For i =​

    ​ vbOKCancel) If Response​ + j, 23).Value​ файла-источника взяты», vbInformation​ в столб Z​ — что находится​:​ и файлом-источником -​ компанию, выпускающую конвертеры​ (BIFF8) и приложения​ текстового файла с​

    1. ​ (XMLSS).​ со второй книгой​В списке должен остаться​ то выбираем ей​Busine2009​ 12).Value = ЛистИсточник.Cells(17,​
    2. ​ 1 To LastRowИсточник​ = vbCancel Then​ = ЛистИсточник.Cells(31 +​ Exit Sub ElseIf​ строку Y?​ в столбце «A».​
    3. ​lalike​ ='[1.xls]Лист1′!R20C4?​ файлов для форматов,​ Excel 2010 (BIFF12).​ разделителями-запятыми для использования​Данные XML Data​
    4. ​ ограничивается только обработкой​ один пользователь –​

    ​ название. Если совместное​:​ 15).Value .Range(.Cells(LastRowСводный +​

    1. ​ — 31 Step​ Exit Sub ‘Активизация​
    2. ​ i, 8).Value Else​
    3. ​ ActiveCell.Column <> 11​Busine2009​
    4. ​ Если нет то​,​lalike​ не поддерживаемых Excel.​

    ​SYLK​ в операционной системе​XML​ данных — то​

    Как удалить пользователя

    1. ​ Вы.​ пользование предполагается для​lalike​Доступ к книге.
    2. ​ 1, 12), .Cells(LastRowСводный​ 2 If IsEmpty(ЛистИсточник.Cells(31​Список пользователей.
    3. ​ объектов, связанных с​ ЛистКонечный.Cells(LastRowКонечный + j,​

    ​ And ActiveCell.Column <>​:​ он будет игнорировать​

    Как отключить режим совместного доступа в Excel

    ​а у вас​:​Сохраните файл в формате,​SLK​ MS-DOS и гарантирует,​

    1. ​Формат данных XML.​ есть хорошая альтернатива​Выделить исправления.
    2. ​CTAJIuH​ существующего файла –​,​ + СколькоОбъединять, 12)).Merge​ + i, 12).Value)​ работой с файлами.​ 23).Value = 0​ 17 Or _​Вносить изменения на отдельный лист.
    3. ​lalike​ это кое -​ конечный файл уже​

    ​Busine2009​ который поддерживает другая​Формат Symbolic Link.​ что символы табуляции,​Надстройка Microsoft Excel​ в виде использования​: Здравствуйте!​ жмем ОК.​

    Разрешить изменять файл нескольким пользователям.

    ​надо попробовать формулы​ End With metka_2:​ = False Then​

    exceltable.com

    VBA работа с файлами Excel

    ​ Set oFileSystemObject =​​ End If If​
    ​ IsNumeric(ActiveCell) = False​,​ что, т.к. стоит​ заполнен и нужно​
    ​,​ программа, а затем​DIF​ разрывы строк и​XLAM​ технологии ADO. Результаты​Вопрос в следующем:​Открываем меню Microsoft Office.​

    ​ Excel обуздать для​​ ФайлИсточник.Close j =​
    ​ Сумма = Сумма​ CreateObject(«Scripting.FileSystemObject») Set oFolder​

    ​ IsEmpty(ЛистИсточник.Cells(31 + i,​​ Or ActiveCell.Font.Bold =​​вот код. Т.к.​​ проверка Len(Cells(i,1).Text) <>​ только связи обновлять​Нет, связи не​
    ​ экспортируйте его из​DIF​
    ​ другие знаки будут​Формат файлов надстроек Excel​ моих экспериментов с​ Как реализовать чтение​ Выбираем команду «Сохранить​ вашей задачи. У​
    ​ 0 СколькоОбъединять =​ + ЛистИсточник.Cells(31 +​ = oFileSystemObject.GetFolder(ИмяПапки) ‘Проверка,​

    ​ 7).Value) = False​​ False Then MsgBox​ файл сделан в​
    ​ 0​ или нужно заносить​ нужны. Нужны только​ этой программы в​
    ​Формат обмена данными.​ интерпретироваться правильно. Сохраняется​ 2010 и Excel​ этой альтернативой прилагаю​
    ​ и запись данных​ как». Выбираем тот​ вас хорошая идея.​ 0 Сумма =​ i, 12).Value End​ что в папке​ Then ЛистКонечный.Cells(LastRowКонечный +​ «Выделенными ячейками могут​ Excel 2003, а​lalike​ данные из файлов-источников?​ цифры, данные.​ формат, который поддерживается​Текст (разделители — знаки​ только активный лист.​ 2007 на основе​ (макрос в книге​

    ​ из другой книги?​​ формат файла сохранения,​​Я создал ситуация,​​ 0 Next oFile​ If Next i​
    ​ нет файлов, кроме​ j, 24).Value =​ быть только R1C1,​ в коде есть​:​А если в​
    ​В папке определенное​ в Excel.​ табуляции)​DIF​ XML с поддержкой​ CTAJIUH_UI.xlsm, обрабатываемые данные​
    ​Т.е. имеется форма(находится​​ который «пойдет» на​ что ваша формула​ ‘Просто сообщение, что​

    ​ ЛистСводный.Cells(LastRowСводный + 1,​​ файлов Excel. For​ ЛистИсточник.Cells(31 + i,​
    ​ последняя ячейка столбца​ команда, связанная с​DarkSacred​
    ​ файл-источник внесли изменения,​ количество файлов, новые​Не преобразуемые в другие​TXT​
    ​DIF​ макросов. Надстройка —​ и результаты в​ в одном файле),​

    ​ всех пользовательских компьютерах.​​ наконец у меня​ работа макроса завершена.​ 15).Value = Сумма​ Each oFile In​ 7).Value Else ЛистКонечный.Cells(LastRowКонечный​ C11 или последняя​ сохранением, то будет​, А Вы не​
    ​ то вы должны​ не появляются.​ форматы свойства и​Текстовый формат со знаками​

    ​Формат обмена данными. Сохраняет​​ это программа, обеспечивающая​ книге CTAJIUH_DB.xlsx).​
    ​ с помощью которой​Местом сохранения выбираем сетевой​ заработала.​ MsgBox «Сбор данных​ With ЛистСводный .Range(.Cells(LastRowСводный​

    ​ oFolder.Files If InStr(oFile.Type,​​ + j, 24).Value​​ ячейка столбца C17.»​ появляться диалоговое окно,​ могли бы полный​ эти данные поместить​этими связями я​
    ​ форматирование документов Microsoft​ табуляции в качестве​ только активный лист.​ возможность выполнения дополнительного​С уважением, Аксима​ пользователь взаимодействует с​ ресурс / сетевую​booleg​ из файлов-источников завершён.»,​ + 1, 15),​ «Excel») = 0​ = 0 End​ & vbCr &​
    ​ связанное с разными​

    CyberForum.ru

    ​ макрос выложить?​

    Хитрости »

    11 Февраль 2018              31708 просмотров


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

    Если еще не работали с надстройкой PowerQuery и не знаете что это такое, то для начала лучше ознакомиться со статьей: Power Query — что такое и почему её необходимо использовать в работе?

    Ниже можно скачать файлы, которые применялись в статье. В архиве два файла бюджета(в папке Бюджет) и готовая модель с запросом(файл «Сводный»).
    В файле с запросом так же применен прием получения пути к файлам динамически из папки, которая расположена в папке с файлом запроса. Подробнее про это можно прочитать в статье: Относительный путь к данным PowerQuery
    Скачать готовую модель:

      Модель агрегации файлов.zip (53,5 KiB, 1 337 скачиваний)


    Видеоинструкция:


    Для ведения бюджета применяется таблица такого вида:
    Исходная таблица
    Сама таблица преобразована заранее в так называемую «умную» таблицу: выделяем таблицу -вкладка Вставка(Insert) и выбрать Таблица(Table):
    Создание умной таблицы
    Для каждого филиала отдельный файл только с одним этим листом. После заполнения филиалы присылают эти файлы в головной офис, где их необходимо объединить в одну такую же таблицу, но суммировать данные по каждой статье и каждому месяцу, чтобы получить единый файл бюджета с суммированием по каждой статье от всех филиалов.
    Все действия будут производиться при помощи Power Query и лишь в самом конце на лист будет выгружена итоговая таблица, которую потом надо будет только обновлять(пара кликов мыши), если данные изменятся или будут присланы файла от за другие месяцы или от других филиалов. Никаких макросов использовать не надо.


    Перейдем к реализации.
    Создаем новую пустую книгу, переходим на вкладку Данные(или Power Query) —Получить данныеИз файлаИз папки:
    Из папки
    В появившемся окне указываем путь к папке, в которую были помещены файлы бюджетов, присланные филиалами
    Путь к папке
    Нажимаем Ок.
    Появится окно, в котором будет список всех файлов в выбранной папке. Нажимаем Изменить и попадем в редактор запросов Power Query. Здесь пошагово мы и будем делать все преобразования отчетов для их объединения и приведения к нужному виду.
    Для начала удалим лишние столбцы, оставив только два столбца:

    Content

    и

    Name

    :
    Удалить столбцы
    Для этого выделяем лишние столбцы с зажатой клавишей Shift и нажимаем Delete(или правая кнопка мыши —Удалить столбцы).
    Теперь надо получить таблицы из файлов. Для этого переходим на вкладку Добавить столбец -Пользовательский столбец. В появившемся окне даем имя новому столбцу(у меня это Данные), а в поле формулы вписываем такую функцию:

    =Excel.Workbook([Content])

    Извлечь содержимое книги
    Нажимаем Ок.
    В отчет будет добавлен новый столбец. Необходимо его «развернуть» — получить все данные из каждого файла. Для этого нажимаем на этом столбце значок в виде двух разнонаправленных стрелок, снимаем галочку «Использовать исходное имя столбца как префикс» и нажимаем Ок:
    Параметры раскрытия
    Будет добавлено еще два столбца, из которых аналогичным образом разворачиваем столбец Data(нажатием на значок в виде двух разнонаправленных стрелок). Там будут наименования вроде Column1, Column2 и т.д. – это нормально, выгружаем все как есть. Получится такая картина:
    Развернуть данные
    Теперь столбцы

    Content

    ,

    Name

    и

    Name.1

    можно удалить (в столбце Name записано имя файла, поэтому если оно нужно – можно оставить на время отладки запроса. Но впоследствии данные будут объединены и просуммированы и оно все равно будет лишним).
    Т.к. у нас реальные данные в таблицах начинаются не с первой строки и имеется шапка – необходимо убрать все лишние строки, чтобы исключить ошибки при дальнейшем суммировании данных. Для этого сначала в Column2 раскрываем меню фильтра и убираем галочки со значений

    NULL

    :
    Фильр
    А в Column1 в фильтре убираем галочку с пункта «Статьи». Теперь первой строкой данных у нас идут названия месяцев. Делаем их заголовками: вкладка ПреобразованиеТаблицаИспользовать первую строку в качестве заголовков:
    Первая строка как заголовок
    Т.к. первый столбец теперь будет иметь не совсем понятное имя вроде Column1 — имеет смысл переименовать его в «Статьи».
    Далее выделяем все столбцы месяцев и столбец Итого -вкладка Преобразование -группа Любой столбец -раскрываем список Тип данных и выбираем Десятичное число:
    Преобразовать в число
    Теперь надо объединить все одинаковые строки статей и просуммировать данные по ним за каждый месяц. Выделяем столбец

    Статьи

    вкладка ПреобразованиеТаблицаГруппировать по:
    Группировать по
    В появившемся окне сразу выбираем режим Дополнительно и указываем параметры группировки:
    Группировка
    Группировка – оставляем поле

    Статьи

    . Ниже создаем 13 столбцов группировки – по одному на каждый месяц и один для Итого. Для каждого столбца указываем имя(лучше такое же как и имя исходного столбца – название месяца, т.к. именно они будут использоваться в итоговой таблице), Операция

    Сумма

    .
    Останется перейти на вкладку ГлавнаяЗакрыть и загрузить. Готовая таблица будет выгружена на новый лист текущей книги.
    Теперь, если в папку будут помещены другие файлы или имеющиеся будут заменены другими и результирующую таблицу бюджета потребуется обновить – все, что необходимо будет сделать, это на созданной PowerQuery таблице в любой ячейке щелкнуть правой кнопкой мыши и выбрать Обновить:
    Обновить
    Все файлы в папке будут просмотрены, преобразованы и просуммированы.

    Так же см.:
    Power Query — что такое и почему её необходимо использовать в работе?
    План-фактный анализ в Excel при помощи Power Query
    Собрать данные с таблиц с изменяющимися столбцами в PowerQuery
    Замена значений по списку в PowerQuery


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

      Плейлист   Видеоуроки


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

    

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    Время прочтения: 3 мин.

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

    Решить данную задачу поможет Power Query – встроенный в MS Excel инструмент обработки данных.

    Рассмотрим пример объединения файлов с общей «шапкой» и данными на разных листах:

    1. Импортируем файлы («Данные» → «Создать запрос» → «Из файла» → «Из папки») и указываем путь:

    2. Power Query покажет все файлы, размещенные по указанному адресу:

    3. Нажимаем «изменить», переходим в редактор запросов и фильтруем нужные файлы:

    4. Удаляем все столбцы кроме «Content»:

    5. Добавляем новый столбец и вводим формулу с учетом регистра:

    6. Раскрываем столбец «Пользовательская», снимаем флажок «Использовать исходное имя…».

    Если есть предупреждение о незавершенном списке, то жмем «загрузить ещё»:

    7. Удаляем столбцы кроме «Data», раскрываем его. Если есть предупреждение, то жмем «загрузить ещё»:

    8. Power Query отразит сводные данные:

    9. Ставим первую строку как заголовок: «Главная» → «Использовать первую строку…»:

    10. Скрываем фильтром лишние заголовки и выгружаем данные на новый/существующий лист:

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

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

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

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

  1. Работа с редактором формул excel
  2. Работа с разными таблицами в excel
  3. Работа с редактором математических формул в word
  4. Работа с разными листами excel
  5. Работа с расчетными листами в excel

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

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