В руководстве показаны три способа объединения файлов Excel в один: путем копирования вкладок листа, запуска VBA и использования инструмента Копировать листы.
Намного проще обрабатывать данные в одном файле вместо переключения между многочисленными источниками. Однако объединение нескольких книг Excel в один файл может оказаться трудоемким и длительным процессом, особенно если книги, которые необходимо объединить, содержат несколько листов. Итак, как бы вы подошли к проблеме? Будете ли вы обрабатывать листы вручную или с помощью кода VBA? Или вы используете один из специализированных инструментов для объединения файлов Excel? Ниже вы найдете несколько хороших способов справиться с этой задачей.
Как объединить два файла Excel в один, скопировав листы
Если вам нужно объединить всего пару файлов Excel, вы можете копировать или перемещать листы из одного файла в другой вручную. Ее, как:
- Откройте рабочие книги, которые вы хотите объединить.
- Выберите листы в исходной книге, которые вы хотите скопировать в основную книгу.Чтобы выбрать несколько листов, используйте один из следующих способов:
- Чтобы выбрать соседние листы, щелкните на первой вкладке листа, которую вы хотите скопировать, нажмите и удерживайте клавишу Shift, а затем перейдите на вкладку последнего листа. При этом будут выбраны все промежуточные листы.
- Чтобы выбрать несмежные листы, удерживая клавишу Ctrl, щелкните на каждой вкладке листа по отдельности.
- Выбрав все листы, щелкните правой кнопкой мыши на любой из выбранных вкладок, а затем выберите Переместить или Скопировать.…
- В диалоговом окне Переместить или скопировать выполните следующие действия:
- В раскрывающемся списке Переместить выбранные листы в книгу выберите целевую книгу, в которую вы хотите объединить другие файлы.
- Укажите, куда именно должны быть вставлены скопированные вкладки листа. В нашем случае мы выбираем вариант перехода к завершению.
- Установите флажок Создать копию, если вы хотите, чтобы исходные листы оставались в исходном файле.
- Нажмите OK, чтобы завершить процесс слияния.
На скриншоте ниже показаны таблицы результатов из двух файлов Excel, объединенные в один. Чтобы объединить вкладки из других файлов Excel, повторите описанные выше действия для каждой книги в отдельности.
При копировании листов вручную, пожалуйста, помните о следующем ограничении, налагаемом Excel: невозможно переместить или скопировать группу листов, если какой-либо из этих листов содержит таблицу. В этом случае вам нужно будет либо преобразовать таблицу в диапазон, либо использовать один из следующих методов, которые не имеют этого ограничения.
Как объединить файлы Excel с помощью VBA
Если у вас есть несколько файлов Excel, которые необходимо объединить в один файл, более быстрым способом было бы автоматизировать процесс с помощью макроса VBA.
Ниже вы найдете код VBA, который копирует все листы из всех выбранных вами файлов Excel в одну книгу. Этот макрос MergeExcelFiles написан Алексом, одним из наших лучших гуру 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 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.
- Щелкните правой кнопкой мыши на этой рабочей книге на левой панели и выберите в контекстном меню пункт Вставить> Модуль.
- В появившемся окне (окно кода) вставьте приведенный выше код.
Подробные пошаговые инструкции см. в разделе «Как вставить и запустить код VBA в Excel».
Кроме того, вы можете загрузить макрос в файле Excel, открыть его вместе с целевой книгой (включить макрос, если будет предложено), затем переключиться на свою собственную книгу и нажать Alt + F8 для запуска макроса. Если вы новичок в использовании макросов в Excel, пожалуйста, выполните подробные действия, приведенные ниже.