Skip to content
Мы рассмотрим три способа объединения файлов Excel в один: путем копирования листов, запуска макроса VBA и использования инструмента «Копировать рабочие листы» из надстройки Ultimate Suite.
Намного проще обрабатывать данные в одном файле, чем переключаться между многочисленными книгами. Однако объединение нескольких книг Excel в один файл может быть сложным и долгим процессом, особенно если книги, которые вам нужно объединить, содержат много листов. Итак, как подойти к этой проблеме? Вы будете копировать их вручную или с помощью кода VBA? Или вы используете один из специализированных инструментов для объединения файлов Excel?
Ниже вы найдете несколько хороших способов, позволяющих реализовать объединение.
- Самое простое — копировать вручную.
- Объединение файлов Excel при помощи VBA.
- Как объединить несколько файлов с помощью Ultimate Suite.
Примечание. В этой статье мы рассмотрим, как копировать листы из нескольких книг Excel в одну книгу. Если вы ищете быстрый способ скопировать данные с нескольких листов на один общий лист, вы найдете подробную инструкцию в другой статье: Как объединить несколько листов в один.
Простой метод — копировать листы руками.
Если вам нужно объединить всего пару файлов Excel, вы можете вручную скопировать или переместить листы из одного файла в другой. Вот как это можно сделать:
- Откройте книги, которые мы планируем объединить.
- Выберите листы в исходной книге, которые вы хотите скопировать в основную книгу.
Чтобы выбрать несколько листов, используйте один из следующих приемов:
- Чтобы выбрать соседние листы, щелкните вкладку первого, который вы хотите скопировать, нажмите и удерживайте клавишу Shift, а затем щелкните вкладку последнего. Это действие выберет все листы между ними.
- Чтобы выбрать несмежные, удерживайте клавишу Ctrl и щелкайте вкладку каждого из них по отдельности.
- Выделив все нужные листы, щелкните правой кнопкой мыши любую из выделенных вкладок и выберите «Переместить» или «Копировать…» .
- В диалоговом окне «Перемещение или копирование» выполните следующие действия:
- В раскрывающемся списке «Переместить выбранные листы в книгу» выберите целевую книгу, в которую вы хотите объединить другие файлы.
- Укажите, где именно должны быть вставлены вкладки. В нашем случае мы выбираем вариант вставки в конец списка.
- Установите флажок «Создать копию», если хотите, чтобы исходные данные оставались оригинальном файле.
- Нажмите
ОК
, чтобы завершить операцию.
Чтобы объединить вкладки из нескольких файлов Excel, повторите описанные выше шаги для каждой книги отдельно.
Замечание. При копировании листов вручную помните о следующем ограничении, налагаемом Excel: невозможно переместить или скопировать группу листов, если какой-либо из них содержит «умную» таблицу. В этом случае вам придется либо преобразовать таблицу в диапазон, либо использовать один из других методов, не имеющих этого ограничения.
Как объединить файлы Excel с VBA
Если у вас есть несколько файлов Excel, которые необходимо объединить в один файл, более быстрым способом будет автоматизировать процесс с помощью макроса VBA.
Ниже вы найдете код VBA, который копирует все листы из всех файлов Excel, которые вы выбираете, в одну книгу. Этот макрос MergeExcelFiles написан Алексом.
Важное замечание! Макрос работает со следующим ограничением — объединяемые файлы не должны быть открыты физически или находиться в памяти, в буфере обмена. В таком случае вы получите ошибку во время выполнения.
Sub MergeExcelFiles()
Dim fnameList, fnameCurFile As Variant
Dim countFiles, countSheets As Integer
Dim wksCurSheet As Worksheet
Dim wbkCurBook, wbkSrcBook As Workbook
fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
If (vbBoolean <> VarType(fnameList)) Then
If (UBound(fnameList) > 0) Then
countFiles = 0
countSheets = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wbkCurBook = ActiveWorkbook
For Each fnameCurFile In fnameList
countFiles = countFiles + 1
Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
For Each wksCurSheet In wbkSrcBook.Sheets
countSheets = countSheets + 1
wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
Next
wbkSrcBook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
End If
Else
MsgBox "No files selected", Title:="Merge Excel files"
End If
End Sub
Как добавить этот макрос в книгу
Если вы хотите вставить макрос в свою книгу, выполните следующие обычные действия:
- нажимать
Alt + F11
, чтобы открыть редактор Visual Basic. - Щелкните правой кнопкой мыши ThisWorkbook на левой панели и выберите « Вставить» > « Модуль» в контекстном меню.
- В появившемся окне (Окно кода) вставьте указанный выше код.
Более подробная инструкция описана в разделе Как вставить и запустить код VBA в Excel .
Кроме того, вы можете загрузить макрос в файле Excel, открыть его в этой книге (включить выполнение макросов, если будет предложено), а затем переключиться на свою собственную книгу и нажать Alt + F8
для его запуска. Если вы новичок в использовании макросов в Excel, следуйте подробным инструкциям ниже.
Как использовать макрос MergeExcelFiles
Откройте файл Excel, в котором вы хотите объединить листы из других книг, и выполните следующие действия:
- Нажмите комбинацию
Alt + F8
, чтобы открыть окно диалога. - В разделе « Имя макроса» выберите MergeExcelFiles и нажмите «Выполнить».
- Откроется стандартное окно проводника, вы выберите одну или несколько книг, которые хотите объединить, и нажмите «Открыть» . Чтобы выбрать несколько файлов , удерживайте нажатой клавишу Ctrl, указывая на их имена.
В зависимости от того, сколько файлов вы выбрали, дайте макросу несколько секунд или минут для их обработки. После завершения всех операций он сообщит вам, сколько файлов было обработано и сколько листов было объединено:
Как объединить несколько файлов с помощью Ultimate Suite.
Если вам не очень комфортно с VBA и вы ищете более простой и быстрый способ объединить файлы Excel, обратите внимание на инструмент «Копирование листов (Copy Sheets)» — одну из более чем 60 функций, включенных в невероятно функциональную программу Ultimate Suite for Excel. Она работает в версиях Excel 2010-2019.
С Ultimate Suite объединение нескольких файлов Эксель в один так же просто, как раз-два-три (буквально, всего 3 быстрых шага). Вам даже не нужно открывать те из них, которые вы хотите объединить. И это могут быть два файла или несколько — не важно.
- Открыв главную книгу, перейдите на вкладку «Ablebits Data» и нажмите «Копировать листы (Copy Sheets)» > «Выбранные в одну книгу (Selected Sheets to one workbook)».
- В диалоговом окне выберите файлы (а в них — листы), которые вы хотите объединить, и нажмите «Далее (Next)» .
Советы:
- Чтобы выбрать все листы в определенной книге, просто поставьте галочку в поле рядом с именем книги, и все они в этом файле будут выбраны автоматически.
- Чтобы объединить листы из закрытых книг, нажмите кнопку «Добавить файлы…» и выберите столько книг, сколько нужно. Это добавит выбранные файлы только в окно копирования, не открывая их в Excel.
- По умолчанию копируются все данные. Однако, в разных листах можно выбрать разные диапазоны для объединения. Чтобы скопировать только определенную область, наведите указатель мыши на имя вкладки, затем щелкните значок и выберите нужный диапазон.
- При необходимости укажите один или несколько дополнительных параметров и нажмите «Копировать» . На снимке скриншоте а ниже показаны настройки по умолчанию: Вставить все (формулы и значения) и Сохранить форматирование.
Дайте мастеру копирования листов несколько секунд для обработки и наслаждайтесь результатом!
На этой странице есть подробное описание всех возможностей работы мастера копирования.
Чтобы поближе познакомиться с этим и другими инструментами для Excel, вы можете загрузить ознакомительную версию Ultimate Suite.
Итак, я надеюсь, вы получили ответ на вопрос — как быстро объединить несколько файлов Excel в один.
Сборка данных со всех листов книги в одну таблицу
Постановка задачи
Допустим, что у нас есть книга с большим количеством листов, где на каждом листе находится таблица с данными по сделкам в этом городе:
Давайте будем исходить из следующих соображений:
- Структура и столбцов на всех листах одинаковая.
- Количество строк на всех листах разное.
- Листы могут в будущем добавляться или удаляться.
Наша задача — собрать все данные со всех листов в одну таблицу, чтобы потом с ней работать (фильтровать, сортировать, построить сводную и т.д.) Сделать это можно разными способами, но самыми удобными будут, пожалуй, Power Query и макросы.
Способ 1. Сборка данных с листов с помощью Power Query
Если вы ещё не сталкивались в своей работе с Power Query, то очень советую копнуть в этом направлении. Использование этой бесплатной и уже встроенной по умолчанию в Excel надстройки, способно полностью перевернуть весь ваш процесс сбора и анализа данных, упростив всё в разы. С задачей сбора данных с листов Power Query справляется весьма успешно.
Шаг 1. Подключаемся к файлу
Для начала, создадим новый пустой файл в Excel, куда и будут собираться данные.
Если у вас Excel 2010-2013 и вы установили Power Query как отдельную надстройку, то откройте вкладку Power Query, если у вас Excel 2016 или новее, то вкладку Данные (Data). Нажмите кнопку Получить данные / Создать запрос — Из файла — Книга Excel (Get Data / New Query — From file — From Excel) и укажите наш файл с исходными листами:
В появившемся окне Навигатора (Navigator) выберите слева любой лист и нажмите в правом нижнем углу кнопку Преобразовать данные (Transform Data) или Изменить (Edit):
Должно появиться окно редактора запросов Power Query, где отобразятся данные с выбранного листа. Поскольку нам нужен, на самом деле, не один лист, а все, то удалим в правой панели все шаги, кроме первого шага Источник (Source) используя крестик слева от названия шага:
То, что останется после удаления шагов — это список всех объектов, которые Power Query «видит» во внешних файлах, а это:
- листы (Sheet)
- «умные таблицы» (Table)
- именованные диапазоны (Defined Name)
- области печати (Print Area), которые, по сути, являются одним из видов именованного диапазона
Шаг 2. Отбираем нужные листы
В исходном файле может быть много всего лишнего, что нам не требуется собирать: случайные ненужные листы, служебные именованные диапазоны, побочные умные таблицы и т.п. Очень важно отфильтровать этот «информационный мусор», т.к. в будущем из-за любого подобного объекта наш запорс будет, скорее всего, вылетать с ошибкой или некорректно собирать данные. Для решения этой задачи можно использовать несколько подходов.
Во-первых, легко можно отфильтровать нужные объекты по типу по столбцу Kind. Например, если вам нужны только листы:
Во-вторых, если нам нужны только видимые листы, то дополнительно можно отфильтровать ещё по столбцу Hidden.
В-третьих, если вы точно знаете размер таблиц, которые вам нужны, то можно легко добавить к нашему списку вычисляемый столбец с формулой, выводящей количество столбцов или строк и использовать потом эти числа для отбора. Для этого выберем на вкладке Добавление столбца — Настраиваемый столбец (Add Column — Custom Column) и введём в открывшееся окно следующую формулу (с учётом регистра):
Для подсчёта количества строк можно использовать аналогичную функцию Table.RowCount. Получившийся столбец затем можно использовать для фильтрации «мусорных» таблиц.
В-четвёртых, можно извлечь с каждого листа содержимое любой ячейки (например, А1) и использовать его для отбора. Например, если там нет слова «Товар«, то это не наш лист. Для извлечения нужно будет также добавить вычисляемый столбец с такой конструкцией:
=[Data][Column1]{0}
Здесь:
- [Data] — имя столбца, где в каждой ячейке лежат таблицы с содержимым каждого листа (убийственная формулировка для рядового пользователя Excel, да, я знаю)
- [Column1] — имя столбца на листе, из которого мы хотим извлечь данные
- {0} — номер строки (считая с нуля), откуда мы хотим взять данные
После фильтрации «мусора» все добавленные вспомогательные столбцы можно, конечно же, спокойно удалить, оставив только колонки Name и Data.
Шаг 3. Разворачиваем таблицы
Теперь развернём содержимое таблиц в одно целое, используя кнопку с двойными стрелками в заголовке столбца Data, отключив флажок Использовать исходное имя столбца как префикс (Use original column name as prefix):
После нажатия на ОК Power Query соберёт для нас все данные в одну мегатаблицу со всех отобранных листов нашего файла:
Останется лишь «навести блеск», а именно:
- Поднять первую строку в шапку таблицы кнопкой Использовать первую строку в качестве заголовков (Use first row as headers) на вкладке Главная (Home).
- Переименовать первый столбец в Город двойным щелчком на заголовку.
- Удалить повторяющиеся шапки таблиц, попавшие в одну кучу вместе с данными, используя фильтр по столбцу Товар.
Всё. Осталось только дать нашему запросу подходящее имя (например, Сборка) в панели справа и выгрузить затем собранные данные обратно в Excel кнопкой Закрыть и загрузить на вкладке Главная (Home — Close & Load):
В будущем, при любых изменениях в исходном файле достаточно будет лишь обновить наш запрос, щелкнув по собранной таблице правой кнопкой мыши и выбрав команду Обновить (Refresh) или такой же кнопкой на вкладке Данные (Data) или сочетанием клавиш Ctrl+Alt+F5.
Плюсы такого подхода:
- Не нужно уметь программировать, всё делается быстро и почти без использования клавиатуры.
- Последовательность столбцов на разных листах может быть различной — это не играет роли, столбцы правильно встанут друг под друга в итоговой сборке.
- Можно быстро обновлять запрос при изменении исходных данных.
Минусы этого способа:
- Собираются только значения, т.е. формулы с исходных листов не сохраняются.
- Названия столбцов должны на всех листах совпадать с точностью до регистра.
- Нельзя выбрать какой именно диапазон берётся с каждого листа — это определяется автоматически (берётся всё, что есть).
- Для обновления нужен Excel 2016 или новее или установленная надстройка Power Query.
Способ 2. Сборка данных с листов макросом на VBA
Похожего результата можно добиться и с помощью более «классического» подохода — макросом на VBA. Для этого на вкладке Разработчик (Developer) нажмите кнпоку Visual Basic или воспользуйтесь сочетанием клавиш Alt+F11. В открывшемся окне добавьте новый модуль через меню Insert — Module и скопируйте туда текст вот такого макроса:
Sub CollectDataFromAllSheets() Dim ws As Worksheet Set wbCurrent = ActiveWorkbook Workbooks.Add Set wbReport = ActiveWorkbook 'копируем на итоговый лист шапку таблицы из первого листа wbCurrent.Worksheets(1).Range("A1:D1").Copy Destination:=wbReport.Worksheets(1).Range("A1") 'проходим в цикле по всем листам исходного файла For Each ws In wbCurrent.Worksheets 'определяем номер последней строки на текущем листе и на листе сборки n = wbReport.Worksheets(1).Range("A1").CurrentRegion.Rows.Count 'задаем исходный диапазон, который надо скопировать с каждого листа - любой вариант на выбор: Set rngData = ws.Range("A1:D5") 'фиксированный диапазон или Set rngData = ws.UsedRange 'всё, что есть на листе или Set rngData = ws.Range("F5").CurrentRegion 'область, начиная от ячейки F5 или Set rngData = ws.Range("A2", ws.Range("A2").SpecialCells(xlCellTypeLastCell)) 'от А2 и до конца листа 'копируем исходный диапазон и вставляем в итоговую книгу со следующей строки rngData.Copy Destination:=wbReport.Worksheets(1).Cells(n + 1, 1) Next ws End Sub
Запустить созданный макрос можно на вкладке Разработчик кнопкой Макросы (Developer — Macros) или с помощью сочетания клавиш Alt+F8. Макрос автоматически создаст новую книгу и скопирует туда нужные вам данные.
Плюсы такого подхода:
- Формулы с исходных листов сохраняются в сборке.
- Имена столбцов не играют роли.
- Макрос будет работать в любой версии Excel.
- Можно выбирать, что именно брать с каждого листа (конкретный фиксированный диапазон или весь лист).
Минусы этого способа:
- Последовательность столбцов на всех листах должна быть одинаковой, т.к. происходит, по сути, тупое копирование таблиц друг-под-друга.
- Защита от макросов должна быть отключена.
- Быстрого обновления, как это было с Power Query, здесь, к сожалению, не будет. При изменении исходных данных придётся запустить макрос повторно.
Способ 3. Готовый макрос из надстройки PLEX
Если лень возиться с макросами или Power Query, то можно пойти по пути наименьшего сопротивления — использовать готовый макрос (кнопка Собрать) из моей надстройки PLEX для Excel. Это, может, и не спортивно, но зато эффективно:
В общем, выбирайте любой удобный вам вариант и действуйте. Выбор — это всегда хорошо.
Ссылки по теме
- Что такое Power Query и с чем его едят.
- Как создавать свои макросы, использовать чужие и запускать их в своих файлах.
- Сборка данных из нескольких файлов с помощью Power Query.
Время прочтения: 3 мин.
Иногда может возникнуть необходимость в объединении данных из разных файлов в одну таблицу. Если их много, а информация размещена на разных листах, то обычное копирование займет много времени.
Решить данную задачу поможет Power Query – встроенный в MS Excel инструмент обработки данных.
Рассмотрим пример объединения файлов с общей «шапкой» и данными на разных листах:
- Импортируем файлы («Данные» → «Создать запрос» → «Из файла» → «Из папки») и указываем путь:
2. Power Query покажет все файлы, размещенные по указанному адресу:
3. Нажимаем «изменить», переходим в редактор запросов и фильтруем нужные файлы:
4. Удаляем все столбцы кроме «Content»:
5. Добавляем новый столбец и вводим формулу с учетом регистра:
6. Раскрываем столбец «Пользовательская», снимаем флажок «Использовать исходное имя…».
Если есть предупреждение о незавершенном списке, то жмем «загрузить ещё»:
7. Удаляем столбцы кроме «Data», раскрываем его. Если есть предупреждение, то жмем «загрузить ещё»:
8. Power Query отразит сводные данные:
9. Ставим первую строку как заголовок: «Главная» → «Использовать первую строку…»:
10. Скрываем фильтром лишние заголовки и выгружаем данные на новый/существующий лист:
Готово! Информация со всех листов всех файлов собрана в общую таблицу при существенно меньших трудозатратах по сравнению с ручным копированием.
Таким образом, Power Query позволяет решать широкий спектр задач без использования сложных запросов и формул, что делает его универсальным инструментом для обработки данных и повышения эффективности работы.
Как часто, работая с данными, вам удается уместить всю необходимую для анализа информацию в одну таблицу? Скорее всего, никогда.
Чаще всего, нужные нам данные находятся в разных файлах и мы сталкиваемся с необходимостью сопоставить или объединить их из нескольких таблиц в одну.
В этой статье мы рассмотрим наиболее эффективные способы как это сделать.
Как объединить две таблицы Excel с помощью функции ВПР
Если вы хотите сопоставить две таблицы по данным из одного столбца, то тут лучше всего подойдет функция ВПР.
Представим, у нас есть две таблицы. В основной таблице у нас есть данные с наименованиями товаров, продавцов и количестве продаж, а во второй с ценами на эти товары. Мы хотим подставить данные с ценами на товары в таблицу с данными о продажах и посчитать выручку на каждого из продавцов.
Для этого в ячейку D2 вставим формулу с функцией ВПР:
- B2 – ячейка с названием товара, которое мы ищем в таблице с ценами;
- $G$2:$H$4 – диапазон ячеек таблицы с наименованием товаров и ценами. В столбце G содержатся названия товаров, по которым функция осуществляет поиск. В столбце H отражены цены, которые функция ВПР будет подставлять в нашу таблицу. Диапазон ячеек включает в себя значки $, с их помощью диапазон зафиксирован и не будет изменяться при протягивании формулы по другим ячейкам.
- 2 – номер столбца в диапазоне данных с ценами на товары, которые мы хотим подставить в нашу таблицу.
- 0 – точность совпадения данных. Ставим “0”, так как нам необходимо точное совпадение.
Протянем полученную формулу на все строки столбца и получим таблицу с расчетом выручки по каждому товару, для каждого продавца.
Консолидация данных в программе Microsoft Excel
При работе с однотипными данными, размещенными в разных таблицах, листах или даже книгах, для удобства восприятия лучше собрать информацию воедино. В Microsoft Excel с этой задачей можно справиться с помощью специального инструмента, который называется «Консолидация». Он предоставляет возможность собрать разрозненные данные в одну таблицу. Давайте узнаем, как это делается.
Условия для выполнения процедуры консолидации
Естественно, что не все таблицы можно консолидировать в одну, а только те, которые соответствуют определенным условиям:
- столбцы во всех таблицах должны иметь одинаковое название (допускается лишь перестановка столбцов местами);
- не должно быть столбцов или строк с пустыми значениями;
- шаблоны у таблиц должны быть одинаковыми.
Создание консолидированной таблицы
Рассмотрим, как создать консолидированную таблицу на примере трех таблиц, имеющих одинаковый шаблон и структуру данных. Каждая из них расположена на отдельном листе, хотя по такому же алгоритму можно создать консолидированную таблицу из данных расположенных в разных книгах (файлах).
- Открываем отдельный лист для консолидированной таблицы.
В поле «Функция» требуется установить, какое действие с ячейками будет выполняться при совпадении строк и столбцов. Это могут быть следующие действия:
- сумма;
- количество;
- среднее;
- максимум;
- минимум;
- произведение;
- количество чисел;
- смещенное отклонение;
- несмещенное отклонение;
- смещенная дисперсия;
- несмещенная дисперсия.
Как видим, после этого диапазон добавляется в список.
Аналогичным образом, добавляем все другие диапазоны, которые будут участвовать в процессе консолидации данных.
Для того, чтобы автоматически добавить название столбцов в шапку, ставим галочку около параметра «Подписи верхней строки». Для того, чтобы производилось суммирование данных устанавливаем галочку около параметра «Значения левого столбца». Если вы хотите, чтобы при обновлении данных в первичных таблицах обновлялась также и вся информация в консолидированной таблице, то обязательно следует установить галочку около параметра «Создавать связи с исходными данными». Но, в этом случае нужно учесть, что, если вы захотите в исходную таблицу добавить новые строки, то придется снять галочку с данного пункта и пересчитать значения вручную.
Как видим, консолидация данных в Эксель является очень удобным инструментом, благодаря которому можно собрать воедино информацию расположенную не только в разных таблицах и на разных листах, но даже размещенную в других файлах (книгах). Делается это относительно просто и быстро.
Мы рады, что смогли помочь Вам в решении проблемы.
Как объединить файлы Excel и таблицы
При работе с несколькими файлами Microsoft Excel иногда необходимо объединить файлы и таблицы Excel в новый или существующий файл Excel или объедините несколько файлов Excel в один файл. Хотя вы всегда можете скопировать и вставить данные с одного листа на другой или из одного файла в другой, это утомительно, когда их слишком много. В этом посте мы расскажем, как их можно объединить с помощью встроенной функции.
Как объединить файлы и таблицы Excel
Прежде чем приступить к объединению файлов и листов, хорошо спланируйте это. Хотя вы всегда можете переставить листы позже, чем лучше вы планируете, тем меньше часов вы потратите на их сортировку после объединения.
- Объединить таблицы в новый или существующий файл
- Объединить несколько файлов Excel
Хотя функции, которые мы здесь будем использовать, позволят вам перемещать листы, я рекомендую копировать. Если вам снова понадобится исходный файл, у вас будет выбор.
Объединить таблицы в новый или существующий файл
Прежде чем мы начнем слияние, убедитесь, что у вас открыты все файлы Excel. Только когда они открыты, функция слияния Excel может выбрать их в качестве места назначения. Если вы планируете переместить листы из нескольких файлов в новый файл Excel, вы также можете это сделать.
- Откройте исходный файл Excel и переключитесь на лист, который вы хотите скопировать.
- Щелкните вкладку «Главная»> раздел «Ячейки»> «Формат»> «Переместить или скопировать лист».
- Откроется всплывающее окно, в котором вы можете выбрать существующий файл Excel или создать новый файл на ходу.
- Когда ты выберите новый вариант файла, он мгновенно создаст новый файл, но не сохранит его.
- Когда ты выберите существующий файл, у вас есть возможность выбрать, куда будет вставлен лист, т. е. до или после существующих листов или в конце всех листов.
Вы также можете перейти в существующий файл, что удобно, если листов слишком много, и вам нужно вставить лист где-то между ними или переместить его в конец.
Если вы хотите переместить несколько листов в другой файл Excel, то перед использованием «Переместите или скопируйте лист » выберите листы с помощью Ctrl или Shift. В то время как Shift позволяет вам выбирать соседние листы или диапазон листов, Ctrl позволяет вам выбирать отдельные листы. Остальные шаги такие же. Вы можете использовать это для ручного слияния файлов Excel.
Объединить несколько файлов Excel
Слияние файлов Excel — сложная вещь, и для этого мы будем использовать код VBA из ExtendOffice. Это позволит вам объединить несколько файлов или книг, доступных в папке.
- Создайте новую электронную таблицу Excel и нажмите ALT + F11, чтобы открыть раздел разработчика.
- Щелкните меню «Вставка», а затем «Модуль»
- Вставьте код, указанный ниже. Назовите модуль MergeExcel
Затем нажмите Alt + F8 открыть Макрос диалог. Это покажет все макросы на листе. Выбирать MergeExcel и нажмите Пробег. Вам будет предложено сохранить файлы, обязательно сделайте это. После этого все листы из разных файлов Excel станут доступны в файле Excel, в котором вы запускали макрос. На веб-сайте ExtendOffice есть много таких макросов, и я настоятельно рекомендую посетить их по адресу extendoffice.com.
Тем не менее, это не будет гладким опытом с первой попытки. Будьте уверены, что он не удалит какие-либо файлы, но я бы посоветовал сохранить резервную копию файлов. Поэкспериментируйте со случайными данными и проверьте, получаете ли вы желаемый результат с помощью макроса.
Мы надеемся, что руководство было легким для понимания, и вы можете объединить файлы Excel и таблицы.
Объединение файлов в папке с объединение двоичных файлов (Power Query)
Смотрите такжеFilesToOpen = Application.GetOpenFilenameВпрочем SLAVICK, по-моему своим вопросом. files», «*.xls» .AllowMultiSelect: Прошу прощения, «меняются же названы. В разных файлов. Если переместить/скопировать. сверу выбираешь объединить в одинСред.. кнопку данные по продажам,Обновить JSON и XML.ОбзорПримечание: _ дал практически исчерпывающийMark1976 = False .InitialFileName
данные» в объединяемых общем, он копирует это вас НЕ файл №2.ОК. все файл. Копировать руками, а другой —Примечание:ОК текущим уровням запасов. Кроме того, можноНа вкладке, чтобы перейти кМы стараемся как(FileFilter:=»Text files (*.txt), ответ
: Здравствуйте. Есть несколько = ThisWorkbook.Path If файлах (не в
листы с исходным устроит, то гдеAbram pupkin долго и мучительно,
Среднее Любые названия, не совпадающие. и наиболее популярным легко применить дополнительныеPower Query
-
нужной папке. можно оперативнее обеспечивать _GeorgeXIII файлов, необходимо макросом .Show = 0 исходном). именем… Можно ли должен храниться сам: дополню рисунком ответ поэтому имеет смысл, консолидация не просуммирует с названиями вДля консолидации по категории продуктам в рамках этапы для преобразования, затем
-
Появится список файлов в вас актуальными справочнымиMultiSelect:=True): Уточню проблемку:
их объединить в Then Exit SubPavelasd всё-таки как-то сделать макрос, который будет Китина использовать несложный макрос. эти столбцы. других исходных областях, диапазон данных на
-
всей организации. или извлечения данных,Из файла папке. В этом материалами на вашемРугается. (чайник я…)есть около 30 один файл. Желательно pth = .SelectedItems(1): Здравствуйте! так, чтобы он собирать инфо?топнуть правой мышкойОткрываем книгу, куда хотимОткройте каждый из исходных могут привести к каждом из исходныхТип консолидации следует выбирать изменив автоматически созданный> случае мы загрузили языке. Эта страница И потом, а файлов (в примерах:
-
чтобы файл создавался End With Application.ScreenUpdatingНужно объединить несколько ориентировался на название3) В вашей по Листу собрать листы из листов. появлению в консолидированных листов должен иметь с учетом того, запрос-образец. При этомИз папки 4 книг Excel. переведена автоматически, поэтому как дальше прописать, 1_Сретенский, 2_Тунгокоченский и автоматически оттуда, откуда = False Workbooks.Open файлов Excel с файла? табличке некоторые строки
Переместить копировать других файлов, входимНа конечном листе щелкните данных отдельных строк
формат списка без как выглядят объединяемые не нужно изменять. Подтвердив, в котором ее текст может
-
чтобы он выполнял т.д.), структура листа запустится. Заранее спасибо pth a = таблицами одинаковой структурыPavel55 были скрыты -
-
и добавлю еще в редактор Visual верхнюю левую ячейку или столбцов.
пустых строк и листы. Если данные или добавлять этапыНажмите кнопку располагаются все файлы, содержать неточности и необходимые разделения и
-
одинакова, лист в если найдется решение. Range(«E2:H» & Cells(Rows.Count, (одинаковые столбцы) в: А можно уточняющий ничего страшного не один способ: Basic (
-
области, в которойДля консолидации по расположению столбцов. Кроме того, на листах расположены запроса-функции, так какОбзор которые вы хотите грамматические ошибки. Для объединял файлы. файле всегда ОДИН,sboy 1).End(xlUp).Row).Value ActiveWorkbook.Close False одну таблицу. вопрос. Допустим мы будет, если макростопнули правой мышкой
-
ALT+F11 требуется разместить консолидированные диапазон данных на категории должны быть единообразно (названия строк в него будут, чтобы перейти к выберите параметр нас важно, чтобыПример во вложении называться может всяко
: Добрый день. lr = Cells(Rows.Count,Через параметры и имеет «Общий» файл, будет раскрывать скрытые
-
на пересечении букв), добавляем новый пустой данные. каждом из исходных названы одинаково. Например, и столбцов могут автоматически перенесены все нужной папке.Объединить & Загрузка эта статья была (текстовые файлы и разно. Ежемесячно мнеЭто можно легко 1).End(xlUp).Row + 1 настройку таблицы добавил в который будем строки? и цифр модуль (в менюПримечание: листов должен иметь если один из
Известные проблемы
при этом различаться), изменения из образца.Появится список файлов в. вам полезна. Просим
целевой результат) из них надо реализовать с помощью Cells(lr, 1).Resize(UBound(a), UBound(a, кнопку «Сравнить и копировать листы сP.S. постараюсь сегодня-завтракопироватьInsert — Module Убедитесь, что справа и формат списка без
support.office.com
Объединение данных с нескольких листов
столбцов называется воспользуйтесь консолидацией поПри загрузке процедуры объединения папке. Нажмите кнопкуАнализ каждого файла и вас уделить паруМожет, кто поможет? сделать один файл, Power Query, 2)) = a объединить книги», но других книг. Открываем написать макроси вставить в) и копируем туда снизу достаточно свободных пустых строк иСред. расположению. Если же двоичных файлов вИзменить определяется в правильном
секунд и сообщить,Guest типа как вно надстройка доступна x = x она почему-то не первую книгу сv_v_s это же место текст вот такого ячеек для консолидированных столбцов., а другой — на листах для Excel может появиться, чтобы открыть редактор формате, например помогла ли она: Слева от рабочего примере 123456.xls начиная с версии + 1 If
активна. В чём навазванием «Доходы.xls», в: Смотрим: «http://www.planetaexcel.ru/tip.php?aid=111», возможно на другом файле макроса: данных.Откройте каждый из исходныхСреднее соответствующих категорий используются такое сообщение об запросов. В этомтекстовый вам, с помощью листа нажмите кнопкув прогах SLAVIKa, Excel 2010. MsgBox(«Добавлено файлов: « может быть причина.
ней 3 листа. подойдетЛаззат сейтбаева
Консолидация по расположению
Sub CombineWorkbooks() DimНа вкладке листов и убедитесь, консолидация не просуммирует одинаковые названия строк ошибке: примере мы загрузим
-
, кнопок внизу страницы. «присоединить файл» выше, нифига неВот тут есть
-
& x &И ещё. Главные Мы их копируемPavel55: Abram Pupkin спс
FilesToOpen Dim xДанные в том, что эти столбцы. и столбцов (данные
-
Если вы проигнорируете ошибки четыре книги Excel.Excel Для удобства такжеGuest понял неплохая инструкция по
-
vbLf & vbLf столбцы в этих в «Общий» файл: Посмотрите приложенный архив.
-
за картинку As Integer Application.ScreenUpdating
в разделе данные на нихОткройте каждый из исходных при этом могут
-
и нажмете кнопкуУбедившись в том, чтоили приводим ссылку на: СПАСИБО!!!!!GeorgeXIII
Консолидация по категории
csv и сбору & «Добавить ещё таблицах — это и называем все Распакуйте его вОоо кирус = False ‘отключаемСервис расположены одинаково. листов. быть расположены по-разному),ОК все нужные файлыJSON оригинал (на английскомслэн
-
: И обратную процедуру: всех файлов из
-
файл?», vbYesNo + номера инвойсов и 3 листа «Доходы»? любую пустую папку: ОГРОМНОЕ СПАСИБО!
обновление экрана длянажмите кнопкуНа конечном листе щелкнитеНа конечном листе щелкните используйте консолидацию по
-
, то процесс присутствуют в списке,. В этом случае языке) .: а можно объединить файл примера разделить папки
-
vbInformation, «Сообщение») = суммы по ним. Excel не даст на вашем компьютере.
-
Чайник скорости ‘вызываем диалогКонсолидация верхнюю левую ячейку верхнюю левую ячейку категории.объединения двоичных файлов нажмите в столбце отображается список листовС помощью Excel Get
-
эти файлы в на n-е количество_Boroda_ vbYes Then GoTo Так вот, как присвоить нескольким листам Откройте файл «Общий
: День добрый! выбора файлов для. области, в которой
-
области, в которойБолее новые версиибудет выполнен иСодержимое данными из первой & преобразования качества
один на диске файлов (по районам),: Вот еще кучка begin_ Else a можно сделать так, одно и тоже файл — макрос.xls»Может, кто может
Консолидация по расположению
импорта FilesToOpen =Выберите в раскрывающемся списке требуется разместить консолидированные требуется разместить консолидированные Office 2011 г. правильно загрузит данные,кнопку
-
книги в Excel. (Power Query), чтобы и уже его сохранив их в макросов
-
= Range(«A2:D» & чтобы при объединении имя. Или в (название можете поменять). помочь с таким
Application.GetOpenFilename _ (FileFilter:=»Allфункцию данные. данные.
-
несмотря на этоОбъединить двоичные данные Выберите лист, который объединить несколько файлов, открыть в иксель.. той же папкеhttp://excelvba.ru/code/DATfolder2Array
-
Cells(Rows.Count, 1).End(xlUp).Row).Value With одни и те файле из которого В нём находится
-
вопросом. files (*.*), *.*»,, которую требуется использоватьПримечание:Примечание:
Для консолидации по расположению сообщение. Мы работаем. хотите использовать, а
-
которые имеют одинаковыеКатерина с именем Районаhttp://excelvba.ru/code/CSV2Excel CreateObject(«Scripting.Dictionary») For i же номера инвойсов
Консолидация по категории
мы будем копировать макрос «CombineTables». ЗапуститеЕсть несколько файлов _ MultiSelect:=True, Title:=»Files для консолидации данных. Убедитесь, что справа и Убедитесь, что справа и диапазон данных на над устранением этойБудет выполнен анализ каждого затем и нажмите схемы, из одной: Очень хороший макрос,PelenaСписок про CSV, = 1 To
-
не повторялись, а лист будет только
-
этот макрос (через с данными. to Merge») IfУстановите флажки в группе снизу достаточно свободных
снизу достаточно свободных каждом из исходных ошибки. файла и определенкнопку ОК
-
папки в одну спасибо! Работает для: Для обратной процедуры там сами посмотрите UBound(a) .Item(a(i, 1)) как бы объединялись, один лист?
-
Alt+F8). Макрос просмотритЕсть ли возможность TypeName(FilesToOpen) = «Boolean»Использовать в качестве имен
-
ячеек для консолидированных ячеек для консолидированных листов должен иметьПримечание: правильный формат, например. Двоичные файлы объединения таблицу. В качестве .txt. А как создайте другую темуhttp://excelvba.ru/category/CSV
-
= .Item(a(i, 1)) т.е. чтобы вShtirlitz каждый файл в объединить их в Then MsgBox «Не, указывающие, где в данных. данных. формат списка без
Мы стараемся кактекстовый преобразования будет процесс, примера объединение книг
-
сделать так, чтобыGuestMark1976 + a(i, 4) объединённой таблице встретился: Ну если имена
текущей папке и один новый файл выбрано ни одного исходных диапазонах находятсяНа вкладкеНа вкладке пустых строк и можно оперативнее обеспечивать
support.office.com
Сборка листов из разных книг в одну
, а затем автоматическое бюджета для нескольких он работал для: Господа,: _Boroda_, спасибо Александр, Next lr = номер этого инвойса
листов совпадают, то если на листе ? файла!» Exit Sub названия:ДанныеДанные столбцов. вас актуальными справочнымиExcel создание запроса на отделов, где столбцы
текстовые файлы (сВсех с наступающим ссылки нужные. Cells(Rows.Count, 1).End(xlUp).Row If только один раз, он будет просто «Example» (переименовывать нельзя)Пример и то, End If ‘проходимподписи верхней строкив разделев группеОткройте каждый из исходных материалами на вашемили объединение данных из те же, но разделителями табуляции)? НГ! Удачи, счастьяGeorgeXIII
lr > 1 но чтобы сумма в скобках приписывать есть таблица, в что хотелось бы по всем выбранным,СервисРабота с данными листов и убедитесь языке. Эта страницаJSON каждого файла и количество строк иGuest и сбычи мечт.: имеется около 30
planetaexcel.ru
Два файла excel в как объединить в один файл с двумя вкладками?
Then Range(«A2:D» & по этому инвойсу (2), (3) и столбце «B» которой получить во вложении. файлам x =значения левого столбцанажмите кнопкунажмите кнопку в том, что переведена автоматически, поэтому
. В этом примере отобразить результаты на значений различия между: Идеально, чтобы онВозник такой вопрос. файлов с одинаковой
lr).ClearContents Cells(2, 1).Resize(.Count, была суммой из т.д., по крайней
есть слово «sku»,Проблема, как вы
1 While x
либо оба флажкаКонсолидация
Консолидация данные на них ее текст может
отображается список листов
одном листе. книгами. складывал эти файлы,
Есть n количество структурой (названия листов, 2) = Application.Transpose(Array(.Keys,
сумм по этому мере. когда я
Объединение данных из разных файлов Excel в один
перенесёт эту таблицу заметите, в том,
После этого можно вернуться одновременно..
. расположены одинаково.
содержать неточности и из первой книгиЕсли исходные файлы будутБолее новые версии
и одновременно их файлов с данными количество полей в
.Items)) End With инвойсу из всех этот макрос использовал, на новый лист что иногда на в Excel и
Выделите на каждом листеВыберите в раскрывающемся спискеВыберите в раскрывающемся списке
На конечном листе щелкните
грамматические ошибки. Для Excel. Выберите нужный изменены, вы всегда Office 2010 – раскидывал по столбцам
в формате .txt
них) End If Application.ScreenUpdating таблиц? он так и файла «Общий файл листе может быть запустить созданный макрос нужные данные. Нефункциюфункцию верхнюю левую ячейку
нас важно, чтобы лист и нажмите сможете обновить импортированные 2013 (сейчас пользуюсь «текстФормат данных одинаковый:как средствами Excel = True BeepДа, и ещё, делал, там в — макрос.xls». Потестируйте одна табличка, а
через меню забудьте включить в, которую требуется использовать, которую требуется использовать области, в которой эта статья была кнопку
данные. Щелкните любоеЧтобы начать процесс объединения
по столбцам», а одинаковая шапка в или VBA сделать
MsgBox «Готово!» End можно ли файлы файлах были имена макрос. Если будут иногда — несколько.Сервис — Макрос - них ранее выбранные для консолидации данных. для консолидации данных. требуется разместить консолидированные вам полезна. ПросимОК место в диапазоне нескольких файлов, сначала потом вручную их документе, одинаковое кол-во один общий файл, Sub объединить, если они лист1, лист 2 замечания — пишите.Шапка с данными Макросы (Tools - данные из верхнейВыделите на каждом листе
Установите флажки в группе данные. вас уделить пару. данных, а затем поместите их все собираю… Выматывает… столбцов, разделитель значений добавив все записиGIKS в разных папках,
и т.д., простоShtirlitz и их (данных) Macro — Macros) строки или левого нужные данные иИспользовать в качестве именПримечание: секунд и сообщить,Начнется процесс преобразования. Автоматически
на вкладке
в одну папку.Прикладываю 2 таких один и тот по соответствующим листам?: У меня один просто выделив все в скобках добавлялись: Подскажите, плиз, а последовательность всегда одинаковая.или нажав столбца. Затем нажмите нажмите кнопку
, указывающие, где в Убедитесь, что справа и помогла ли она будет создан запросРабота с запросамиПримечание: подобных файлов. же (точка сBobroEJ вопрос: а как эти папки? цифры. как доработать макросСпасибо!ALT+F8 кнопкуДобавить исходных диапазонах находятся снизу достаточно свободных вам, с помощью на объединение данныхнажмите кнопку
Поддерживаются файлы Excel иПомогите, пож-ста! запятой).: А можно пару переделать макрос чтобСпасибоНо вообще хотелось таким образом, чтобыPavel55. Отобразится диалоговое окноДобавить. названия: ячеек для консолидированных кнопок внизу страницы. из каждого файла,
Обновить Access, текстовые файлы,GuestДо сих пор файлов для примера?
он копировал данныеPavelasd
бы в идеале, при копировании из: То, что табличек открытия файла, где.
Путь к файлу вводитсяподписи верхней строки данных. Для удобства также а результат появится. Кроме того, можно а также файлы: Файлы не смогла я их переношу и результат, как
с ячеек A2: пример файла для чтобы имена листов разных книг в может быть 1
planetaexcel.ru
Объединение нескольких файлов в один
необходимо указать одинПуть к файлу вводится
в поле,На вкладке приводим ссылку на в области предварительного
легко применить дополнительные в форматах CSV, присоединить, — неразрешенное в excel путем вы его видите. по K2? объединения
давались по названию один файл он или несколько - или несколько (удерживая в полеВсе ссылкизначения левого столбцаДанные оригинал (на английском просмотра. Если он этапы для преобразования JSON и XML. расширение импорта каждого файликаSLAVICKперменную А менял,kalbasiatka файлов… подписывал листы, на это не страшно. CTRL или SHIFT)Все ссылки
.либо оба флажкав группе языке) . вас устраивает, нажмите или извлечения данных,
Щелкните на вкладке «
EducatedFool и использованием опции: Посмотрите тут и
и ставил 11: Что будет сгость которые он копирует,Несколько вопросов: файлов, листы из.
После добавления данных из одновременно.Работа с данными
Если данные, которые требуется кнопку изменив автоматически созданный
данные
: Прикреплять архивы тоже «текст по столбцам». тут — готовые в .Item(a(i, 1)) датами, да и: пробл именем файла, из1) Всегда ли которых надо добавитьПосле добавления данных из всех исходных листовВыделите на каждом листенажмите кнопку проанализировать, представлены наЗакрыть и загрузить запрос-образец. При этом» выберите запрещено?Вопрос: существует ли примеры = .Item(a(i, 1)) прочими данными одинаковыхbasta которого получены данные? лист, на котором к текущей книге. всех исходных листов и книг нажмите нужные данные. НеКонсолидация нескольких листах или. не нужно изменятьПолучение данныхКатерина возможность написать макрос,GeorgeXIII + a(i, 4) инвойсов, или надо: Я так полагаю,У себя этот находятся таблички называетсяЕсть два файла excel и книг нажмите кнопку забудьте включить в. в нескольких книгах,
Когда процесс объединения двоичных или добавлять этапы>: Действительно, архивы можно. который позволял бы: пример уже объединенного что упустил из
только инвойс и вопрос с добовлением макром попробовал (ничего «EXEMPLE»? Или он с одной вкладкой кнопкуОК
них ранее выбранныеВыберите в раскрывающемся списке их можно объединить файлов завершится, данные запроса-функции, так какИз файла Спасибо за подсказку
собирать эти файлы файла прилагаю. виду?
сумма? цифр так и не меняя), 2
CyberForum.ru
Объединить несколько файлов в один. (Макросы/Sub)
может называться по каждый. Как объединитьОК. данные из верхнейфункцию на одном листе листов из списка в него будут
> Присоединяю файлы
вместе, обрезать шапочкуКаждый месяц надоkalbasiatka
Pavelasd не решился да? листа были названы
любому, но он их в один,.Для консолидации по категории строки или левого
, которую требуется использовать с помощью команды будут консолидированы на
автоматически перенесены все
Из папки
для примера. Их и конвертировать все
30 файлов в
: Если почитать первый: да, надо толькоTatiana
excelworld.ru
Объединение несколько файлов Excel в один (Формулы/Formulas)
по имени файлов, тогда должен быть с двумя вкладками?Примечание: диапазон данных на столбца.
для консолидации данных. «Консолидация». Например, если одном листе. изменения из образца.. Если кнопка
нужно объединить и их в один один сложить пост, то возможно, инвойс и сумма
: Подскажите, пожалуйста, почему остальные — нет. всегда ОДИН в Если делать выделить
Любые названия, не совпадающие каждом из исходныхПуть к файлу вводится
Выделите на каждом листе есть отдельный листЕсли исходные файлы будут
Чтобы начать процесс объединенияПолучить данные разнести текст по лист Excel? Файлы
И потом их
станет ясно, чтоkalbasiatka такое может происходить: Или здесь уже
книге. (кстати, правильно все и копировать, с названиями в
листов должен иметь в поле
нужные данные. расходов для каждого изменены, вы всегда нескольких файлов, сначалане отображается, нажмите столбцам. могут лежать в по районам разъединить тут не про: Зачем «*» в при объединении файлов это прописано, но
«example» пишется через то при выставлении других исходных областях,
формат списка безВсе ссылкиПуть к файлу вводится регионального представительства, с сможете обновить импортированные поместите их все кнопкуКатерина
разных папках…. после добавления пары копирование диапазонов был
excelworld.ru
Объединение нескольких текстовых файлов (.txt) в один Excel
номере инвойса в один меняются
есть какие-то ограничения «a» меняется размер строк
могут привести к пустых строк и. в поле
помощью консолидации можно данные. Щелкните любое в одну папку.Новый запрос: Ура! Что-то получилосьНачинаю писать макрос столбцов.
разговор.Примерно так: данный, а точнее к именам файлов?2) Устроит ли и столбцов и
появлению в консолидированных столбцов. Кроме того,После добавления данных изВсе ссылки создать на базе место в диапазонеПримечание:> :-)Sub CombineWorkbooks()
Хелп ми
Отбирались уникальные значения
Sub добавить() Dim
переносится запятая -Заранее спасибо)
вас такой вариант
фотографии не переносятся. данных отдельных строк
категории должны быть всех исходных листов
.
этих данных корпоративный данных, а затем Поддерживаются файлы Excel иИз файлаЗаменила «*.txt» наDim FilesToOpen
igrtsk и суммы по i&, lr&, x&
было 30,88, а
Shtirlitz — будет одинКитин или столбцов.
названы одинаково. Например, и книг нажмите
После добавления данных из лист расходов. Такой на вкладке Access, текстовые файлы,> «*.*». Сама дошла,
On Error GoTo: А пару исходных? ним. Dim a() begin_: становится 3 088: Ошибся… те листы, общий файл (с: открываешь оба файла.
Предположим, имеется куча книг если один из кнопку всех исходных листов лист может содержатьРабота с запросами а также файлыИз папки но, к сожалению,
ErrHandler Из чего лепить
Вам бы другую
With Application.FileDialog(msoFileDialogFilePicker) .Filters.Clear 000, 00? которые он назвал, макросом), куда будет
в одном на Excel, все листы столбцов называется
ОК и книг нажмите итоговые и средниенажмите кнопку в форматах CSV,Нажмите кнопку не сразу :-)Application.ScreenUpdating = False
конфетку? тему создать со .Filters.Add «Microsoft Excel
Tatiana были просто так собираться инфо с листе правой кнопкой.
planetaexcel.ru
из которых надо