Как объединить файлы Excel в один
В учебнике показаны три способа объединения файлов Excel в один: копирование вкладок листа, запуск VBA и использование инструмента «Копировать листы».
Гораздо проще обрабатывать данные в одном файле, чем переключаться между многочисленными источниками. Однако объединение нескольких книг Excel в один файл может быть громоздким и длительным процессом, особенно если книги, которые необходимо объединить, содержат несколько листов. Итак, как бы вы подошли к проблеме? Будете ли вы копировать листы вручную или с помощью кода VBA? Или вы используете один из специализированных инструментов для объединения файлов Excel? Ниже вы найдете несколько хороших способов справиться с этой задачей.
Примечание. В этой статье мы рассмотрим, как скопировать листы из нескольких книг Excel в одну книгу. Если вы ищете быстрый способ скопировать данные с нескольких листов на один лист, подробное руководство вы найдете в другом руководстве: Как объединить несколько листов в один.
Как объединить два файла Excel в один, скопировав листы
Если у вас есть всего несколько файлов Excel для объединения, вы можете копировать или перемещать листы из одного файла в другой вручную. Вот как:
- Откройте рабочие книги, которые вы хотите объединить.
- Выберите рабочие листы в исходной книге, которые вы хотите скопировать в основную книгу.
Чтобы выбрать несколько листов, используйте один из следующих способов:
- Чтобы выбрать соседние листы, щелкните вкладку первого листа, который вы хотите скопировать, нажмите и удерживайте клавишу Shift, а затем щелкните вкладку последнего листа. Это выберет все рабочие листы между ними.
- Чтобы выбрать несмежные листы, удерживайте клавишу Ctrl и щелкните вкладку каждого листа отдельно.
- Выбрав все рабочие листы, щелкните правой кнопкой мыши любую из выбранных вкладок и выберите «Переместить или скопировать…».
- в Переместить или скопировать диалоговом окне выполните следующие действия:
- От Переместить выбранные листы в книгу В раскрывающемся списке выберите целевую книгу, в которую вы хотите объединить другие файлы.
- Укажите, куда именно должны быть вставлены скопированные вкладки листа. В нашем случае выбираем перейти к концу вариант.
- Выберите Создать поле для копирования если вы хотите, чтобы исходные листы остались в исходном файле.
- Нажмите OK, чтобы завершить процесс слияния.
На скриншоте ниже показан результат — листы из двух файлов Excel объединены в один. Чтобы объединить вкладки из других файлов Excel, повторите описанные выше шаги для каждой книги отдельно.
При копировании листов вручную помните о следующем ограничении, налагаемом Excel: невозможно переместить или скопировать группу листов, если какой-либо из этих листов содержит таблицу. В этом случае вам придется либо преобразовать таблицу в диапазон, либо использовать один из следующих методов, не имеющих этого ограничения.
Как объединить файлы Excel с VBA
Если у вас есть несколько файлов Excel, которые необходимо объединить в один файл, более быстрым способом будет автоматизировать процесс с помощью макроса VBA.
Ниже вы найдете код VBA, который копирует все листы из всех файлов Excel, которые вы выбираете, в одну книгу. Этот ОбъединитьExcelFiles Макрос написан Алексом, одним из наших лучших гуру Excel.
Важная заметка! Макрос работает со следующей оговоркой – объединяемые файлы не должны быть открыты ни физически, ни в памяти. В таком случае вы получите ошибку времени выполнения.
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 (*.xls;*.xlsx;*. xlsm),*.xls;*.xlsx;*.xlsm”, Title:=”Выберите файлы Excel для объединения”, MultiSelect:=True) If (vbBoolean <> VarType(fnameList)) Then If (UBound(fnameList) > 0) Затем countFiles = 0 countSheets = 0 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Установить wbkCurBook = ActiveWorkbook для каждого fnameCurFile в fnameList countFiles = countFiles + 1 Установить wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile) для каждого wksCurSheet в 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 «Обработано» & countFiles & «файлы» & vbCrLf & «Объединено» & countSheets & «рабочие листы», Title: = «Объединить файлы Excel» End If Else MsgBox «Файлы не выбраны», Title: = «Объединить файлы Excel» End Если конец суб
Как добавить этот макрос в книгу
Если вы хотите вставить макрос в свою книгу, выполните следующие обычные действия:
- Нажмите Alt + F11, чтобы открыть редактор Visual Basic.
- Щелкните правой кнопкой мыши Эта рабочая тетрадь на левой панели и выберите Вставлять > Модуль из контекстного меню.
- В появившемся окне (окно кода) вставьте приведенный выше код.
Подробные пошаговые инструкции см. в разделе Как вставить и запустить код VBA в Excel.
Кроме того, вы можете скачать макрос в файле Excel, откройте его рядом с целевой книгой (включите макрос, если будет предложено), затем переключитесь на свою книгу и нажмите Alt + F8, чтобы запустить макрос. Если вы новичок в использовании макросов в Excel, выполните подробные действия, описанные ниже.
Как использовать макрос MergeExcelFiles
Откройте файл Excel, в который вы хотите объединить листы из других книг, и выполните следующие действия:
- Нажмите Alt + F8, чтобы открыть макрос диалог.
- Под Имя макросавыберите MergeExcelFiles и нажмите «Выполнить».
- Откроется стандартное окно проводника, вы выбираете одну или несколько книг, которые хотите объединить, и нажимаете Открытым. Чтобы выбрать несколько файлов, удерживайте нажатой клавишу Ctrl, щелкая имена файлов.
В зависимости от того, сколько файлов вы выбрали, дайте макросу несколько секунд или минут для их обработки. После завершения макроса он сообщит вам, сколько файлов было обработано и сколько листов было объединено:
Объедините несколько файлов Excel в один с помощью Ultimate Suite
Если вам не очень удобно работать с VBA и вы ищете более простой и быстрый способ объединения файлов Excel, взгляните на Копировать листы инструмент, одна из 70+ функций экономии времени, включенных в наш Ultimate Suite for Excel.
С Ultimate Suite объединить несколько книг Excel в одну так же просто, как раз-два-три (буквально, всего 3 быстрых шага). Вам даже не нужно открывать все рабочие книги, которые вы хотите объединить.
- Открыв основную книгу, перейдите к Данные об аблебитах вкладка > Объединить группу и щелкните Копировать листы > Выбранные листы в одну книгу.
- в Копировать рабочие листы диалоговом окне выберите файлы (и, возможно, рабочие листы), которые вы хотите объединить, и щелкните Следующий.
Советы:
- Чтобы выбрать все листы в определенной книге, просто поставьте галочку в поле рядом с именем книги, все листы в этом файле Excel будут выбраны автоматически.
- Чтобы объединить листы из закрытых книг, нажмите кнопку «Добавить файлы…» и выберите столько книг, сколько хотите. Это добавит выбранные файлы только в окно «Копировать листы», не открывая их в Excel.
- Чтобы скопировать только определенную область в определенной книге, наведите указатель мыши на имя листа, затем щелкните значок Свернуть диалоговое окно значок
и выберите нужный диапазон. По умолчанию копируются все данные.
- При необходимости выберите один или несколько дополнительных параметров и нажмите «Копировать». На скриншоте ниже показаны настройки по умолчанию: Вставить все (формулы и значения) и Сохранить форматирование.
Разрешить Копировать рабочие листы мастер несколько секунд на обработку и наслаждайтесь результатом!
Чтобы поближе познакомиться с этим и другими инструментами слияния для Excel, вы можете загрузить ознакомительную версию Ultimate Suite.
Другие способы объединения листов Excel и объединения данных
Приведенные выше примеры продемонстрировали лучшие методы объединения нескольких файлов Excel в один. Чтобы узнать о других способах объединения листов в Excel, ознакомьтесь со следующими ресурсами.
Доступные загрузки
Макрос для объединения нескольких файлов Excel (файл .xlsm)
Ultimate Suite 14-дневная полнофункциональная версия (файл .exe)