Сборка листов из разных книг в одну
Предположим, имеется куча книг Excel, все листы из которых надо объединить в один файл. Копировать руками долго и мучительно, поэтому имеет смысл использовать несложный макрос.
Открываем книгу, куда хотим собрать листы из других файлов, входим в редактор Visual Basic сочетанием клавиш Alt+F11 одноименной кнопкой на вкладке Разработчик (Developer — Visual Basic), добавляем новый пустой модуль (в меню Insert — Module) и копируем туда текст вот такого макроса:
Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer Application.ScreenUpdating = False 'отключаем обновление экрана для скорости 'вызываем диалог выбора файлов для импорта FilesToOpen = Application.GetOpenFilename _ (FileFilter:="All files (*.*), *.*", _ MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "Не выбрано ни одного файла!" Exit Sub End If 'проходим по всем выбранным файлам x = 1 While x <= UBound(FilesToOpen) Set importWB = Workbooks.Open(Filename:=FilesToOpen(x)) Sheets().Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) importWB.Close savechanges:=False x = x + 1 Wend Application.ScreenUpdating = True End Sub
После этого можно вернуться в Excel и запустить созданный макрос на вкладке Разработчик кнопкой Макросы (Developer — Macros) или нажав Alt+F8. Отобразится диалоговое окно открытия файла, где необходимо указать один или несколько (удерживая Ctrl или Shift) файлов, листы из которых надо добавить к текущей книге — и задача решена!
Ссылки по теме
- Что такое макросы, куда вставлять код макроса на Visual Basic
- Автоматическая сборка заданных листов из заданных книг с помощью надстройки PLEX
- Автоматическая сборка данных с нескольких листов на один итоговый лист с помощью надстройки PLEX
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Важно: Прежде чем продолжить, вы должны быть уверены, что хотите использовать этот способ. Общие книги имеют ограничения, и одним из них, в частности, является невозможность редактирования с помощью Excel в Интернете. Поэтому мы настоятельно рекомендуем совместное редактирование, которое является заменой общих книг.
-
Откройте вкладку Рецензирование и посмотрите, есть ли на ней кнопка Общий доступ к книге. Если кнопки нет, ее необходимо отобразить. Кроме того, потребуется отобразить кнопку «Сравнить и объединить книги». В этой статье объясняется, как отобразить эти кнопки.
-
На вкладке Рецензирование или на панели быстрого доступа нажмите кнопку Общий доступ к книге .
-
Установите флажок Разрешить изменять файл нескольким пользователям одновременно….
-
Попросите других пользователей открыть файл и сохранить его копию с уникальным именем файла, отличающимся от исходного. Копии должны находиться в той же папке, что и исходная книга.
-
Попросите других авторов внести изменения в копию и сохранить их.
Примечания:
-
Книгу можно объединить только с копиями, сделанными из исходного экземпляра.
-
Вы не можете объединить книгу, в которой не было разрешены изменения несколькими пользователями… параметр включен.
-
-
Откройте исходную общую книгу, в которую вы хотите добавить изменения.
-
На панели быстрого доступа нажмите кнопку Сравнить и объединить книги .
-
Если появится запрос, сохраните книгу.
-
В диалоговом окне Выберите, какие файлы включить в книгу щелкните копию книги, изменения из которой вы хотите добавить. Чтобы одновременно объединить несколько копий, щелкните их имена, удерживая нажатой клавишу CTRL или SHIFT, а затем нажмите кнопку ОК.
Важно: Прежде чем продолжить, вы должны быть уверены, что хотите использовать этот способ. Общие книги имеют ограничения, поэтому мы настоятельно рекомендуем использовать вместо них совместное редактирование.
-
На вкладке Рецензирование щелкните Поделиться книгой.
-
На вкладке Правка щелкните Разрешить изменения несколькими пользователями…
-
Попросите других пользователей открыть файл и сохранить его копию с уникальным именем файла, отличающимся от исходного. Копии должны находиться в той же папке, что и исходная книга.
-
Попросите других авторов внести изменения в копию и сохранить их.
Примечания:
-
Книгу можно объединить только с копиями, сделанными из исходного экземпляра.
-
Вы не можете объединить книгу, в которой не было разрешены изменения несколькими пользователями… параметр включен.
-
-
Откройте исходную общую книгу, в которую вы хотите добавить изменения.
-
Щелкните меню Сервис и выберите Объединить книги….
-
Если будет предложено, сохраните книгу.
В диалоговом окне навигации по файлам щелкните копию книги, содержащей изменения, которые требуется объединить, а затем нажмите кнопку ОК.
См. также
Одновременная работа нескольких пользователей над книгами Excel с помощью функции совместного редактирования
Нужна дополнительная помощь?
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 в один.
Объединение копий общей книги
Смотрите также в другую книгу из всех файлов-источников быть я неправильноили еще что-то? данных, лист со(Add) в будущем возможно вышла, я не только вариант где Excel, все листы категории должны бытьВсе ссылки для консолидации данных. их можно объединитьнажмите кнопку быстрого доступа нажмитеПримечание: — Ctrl+V) в первую строку применяю макрос или
Poltava сводной информацией могв окне консолидации, поместить между стартовым понимаю почему он можно работать с из которых надо названы одинаково. Например,.Выделите на каждом листе на одном листеРазрешить изменения для нескольких кнопку Мы стараемся как можноAgalets файла-приемника и отдельно это зависит от
: Неправильно поняли! ничего
обновляться. чтобы добавить выделенный и финальным листами мне копирует шапку, листами, но мне объединить в один если один изПосле добавления данных из нужные данные. с помощью команды пользователей…Общий доступ к книге оперативнее обеспечивать вас: Подскажите, пожалуйста, что
-
вставлять 2-n строки количества данных в менять не надо!Количество столбцов и диапазон в список дополнительные листы с шапка у меня это не подходит файл. Копировать руками столбцов называется всех исходных листовПуть к файлу вводится «Консолидация». Например, еслиПопросите других пользователей открыть
-
. актуальными справочными материалами я делаю неправильно. из источников в файле. Помогите пож. макрос сам перебирает их наименования в
-
объединяемых диапазонов. данными, которые также идет до 10Вот код
-
долго и мучительно,Сред. и книг нажмите в поле есть отдельный лист файл и сохранитьУстановите флажок на вашем языке. Я объединяю несколько
-
первую ПУСТУЮ строкуЧитаем Правила форума, все листы в
каждом листе совпадает,Повторите эти же действия
-
станут автоматически учитываться строчки и можете200?’200px’:»+(this.scrollHeight+5)+’px’);»>
-
поэтому имеет смысл, а другой — кнопкуВсе ссылки расходов для каждого
-
-
его копию сРазрешить изменять файл нескольким Эта страница переведена
-
книг в одну приемника. Немного подольше создаём свою тему, книге будь их а кол-во строк
-
для файлов Риты при суммировании.
-
объяснить за чтоOption Explicit использовать несложный макрос.СреднееОК. регионального представительства, с уникальным именем файла, пользователям одновременно… автоматически, поэтому ее () . Все будет, но зато прикладываем файл с там 3, 5
всегда отличается. и Федора. ВЕсли исходные таблицы не это отвечает Cells(rrow,Const rrow =Открываем книгу, куда хотим, консолидация не просуммирует.После добавления данных из
-
помощью консолидации можно отличающимся от исходного.. текст может содержать книги одинаково организованны,
-
код попроще. примером. Эта тема или 10Заранее благодарю! итоге в списке
-
абсолютно идентичны, т.е. 6), у меня 2 собрать листы из эти столбцы.Примечание: всех исходных листов создать на базе Копии должны находиться
-
Попросите других пользователей открыть неточности и грамматические только разные данные.
По сбору данных закрыта
-
KuklPKuklP должны оказаться все
-
имеют разное количество постоянно на нееPrivate Sub Worksheet_Activate() других файлов, входимОткройте каждый из исходных
-
-
Любые названия, не совпадающие и книг нажмите этих данных корпоративный
-
в той же файл и сохранить ошибки. Для нас В итогу у куча всего есть
-
ReAnima: Все верно
: ? три диапазона: строк, столбцов или ругаетсяDim r As в редактор Visual листов. с названиями в кнопку
support.office.com
Объединение данных с нескольких листов
лист расходов. Такой папке, что и его копию с важно, чтобы эта меня в финальной здесь http://excelvba.ru/category/Excel/consolidation: Доброе время суток,migomigoОбратите внимание, что в повторяющиеся данные илиErmak27 Range, sh As Basic (На конечном листе щелкните других исходных областях,ОК лист может содержать исходная книга. уникальным именем файла, статья была вам книге отображаются данные
ReAnima форумчане.: Все сработало, спасибо: Спасибо, не знал данном случае Excel находятся в разных: подскажите плиз Worksheet, ind&ALT+F11 верхнюю левую ячейку могут привести к. итоговые и средниеПопросите пользователей внести изменения отличающимся от исходного. полезна. Просим вас только одной книги,: спасибо, за ответ.Столкнулся с проблемой еще раз!! про эту функцию. запоминает, фактически, положение
файлах, то суммирование_Boroda_Application.ScreenUpdating = False), добавляем новый пустой области, в которой появлению в консолидированныхДля консолидации по категории данные по продажам, в копии и Копии должны находиться уделить пару секунд а не всех.. если изменить код сбора данных сМатрёна Но к сожалению файла на диске, при помощи обычных
: Cells(rrow, 6) этоRange(«a» & rrow модуль (в меню
Консолидация по расположению
требуется разместить консолидированные данных отдельных строк диапазон данных на текущим уровням запасов сохранить их. в той же и сообщить, помогла
-
Книг, которые нужно таким образом, то огромного кол-ва документов: migo! это, похоже, не
-
прописывая для каждого формул придется делать ячейка, номер строки & «:ar» &Insert — Module
данные. или столбцов. каждом из исходных и наиболее популярнымПримечания:
-
папке, что и ли она вам, объединить, будет в для 2-х файлов в 1-н. ЧерезСм. вариант. то что нужно.
-
из них полный для каждой ячейки которой равняется значению Cells(rrow, 2).End(xlDown).Row).Clear
-
) и копируем тудаПримечание:
Для консолидации по расположению листов должен иметь продуктам в рамках
-
исходная книга. с помощью кнопок итоге много, здесь работает, если вытягиваешь поиск на форумеЯ — не
Консолидация по категории
Если строить сводную путь (диск-папка-файл-лист-адреса ячеек). персонально, что ужасно rrow, а номерFor Each sh текст вот такого Убедитесь, что справа и диапазон данных на формат списка без всей организации.Объединить книгу можно толькоПопросите пользователей внести изменения внизу страницы. Для просто две для данные из 3-х нашел подходящий вариант,
-
программист и с таблицу таким образом,
-
Чтобы суммирование происходило трудоемко. Лучше воспользоваться столбца равняется 6 In Worksheets макроса:
снизу достаточно свободных каждом из исходных пустых строк иТип консолидации следует выбирать с копиями, созданными
-
в копии и удобства также приводим примера файлов надо менять но не могу законами программирования в то она получается
-
с учетом заголовков принципиально другим инструментом.А для правильнойWith sh
-
Sub CombineWorkbooks() Dim ячеек для консолидированных листов должен иметь столбцов. Кроме того, с учетом того, из оригинала. сохранить их. ссылку на оригиналФайлы удалены: превышение на «-2».
-
его подстроить под объектно-ориентированных средах не вертикально — ориентированной. столбцов и строкРассмотрим следующий пример. Имеем работы именно этогоIf .Index <>
FilesToOpen Dim x данных. формат списка без категории должны быть
-
как выглядят объединяемыеНе удается выполнить слияниеПримечания: (на английском языке). допустимого размера вложенияReAnima
себя. Лист, с знакома, поэтому мойВ «списке полей необходимо включить оба три разных файла макроса нужно: ActiveSheet.Index Then As Integer Application.ScreenUpdating
Консолидация по расположению
На вкладке пустых строк и названы одинаково. Например, листы. Если данные книги, если она Важно:
-
[МОДЕРАТОР]: Можно это автоматизировать, которого необходимо вытащить алгоритм тривиален и для добавления в
-
флажка (1. сохранить книгуSet r = = False ‘отключаем
Данные столбцов. если один из на листах расположены еще не разрешается
-
Объединить книгу можно только В этой статье описанvikttur чтобы не менять данные 1-н, называется в нем есть отчет» сводной таблицы
-
Использовать в качестве именИван.xlsx в формате xlsx .Range(«a» & rrow
-
обновление экрана дляв разделеОткройте каждый из исходных столбцов называется единообразно (названия строк
вносить изменения несколькими пользователями… с копиями, созданными способ объединения копий: Правила не читаете.
-
код в зависимости в каждой книге элемент «ущербности» - нет возможности выбрать(Use labels),
Консолидация по категории
или xlsb & «:ar» & скорости ‘вызываем диалогСервис листов и убедитесьСред. и столбцов могутпараметр включен. из оригинала. общей книги. ОбщиеIgorka80 от кол-ва файлов, он аналогично, если для подсчета строк отдельные столбцы исходного. Флаг
-
Рита.xlsx2. заменить все
-
.Cells(.Rows.Count, 2).End(xlUp).Row) выбора файлов длянажмите кнопку в том, что, а другой —
при этом различаться),Откройте исходную общую книгу,Не удается выполнить слияние книги использовались ранее: Доброе время суток
-
с которых тянутся я прописываю его на листах он диапазона данных.Создавать связи с исходнымии ar на NA
-
r.Copy Cells(rrow + импорта FilesToOpen =Консолидация данные на них
-
Среднее воспользуйтесь консолидацией по в которую вы книги, если она для организации совместной подскажите как объединить данные ? 1-н раз при требует наличия столбаА мне нужна
-
даннымиФедор3. заполнить в ind, 1) Application.GetOpenFilename _ (FileFilter:=»All. расположены одинаково., консолидация не просуммирует расположению. Если же хотите добавить изменения.
еще не разрешается работы нескольких пользователей. данные с двух_Boroda_
-
выполнении процедуры выходит «без дыр». возможность в поле(Create links to source.xlsx листах 1-3 столбец
ind = ind files (*.*), *.*»,Выберите в раскрывающемся спискеНа конечном листе щелкните эти столбцы. на листах дляВ менювносить изменения несколькими пользователями…
support.office.com
Сборка листов из разных книг в одну
Эта функция имеет разных книг. Есть: Если лист всегда ошибка при попыткеВ Вашем примере «название строк» указывать data)) с тремя таблицами:
B в тех + r.Rows.Count _ MultiSelect:=True, Title:=»Filesфункцию верхнюю левую ячейкуОткройте каждый из исходных соответствующих категорий используютсяСервиспараметр включен. множество ограничений и один документ он одинаковый, то почему
извлечения данных из я добавила столб несколько названий столбцовпозволит в будущемХорошо заметно, что таблицы строках, которые нужноEnd If to Merge») If, которую требуется использовать области, в которой листов. одинаковые названия строквыберите командуОткройте исходную общую книгу, была заменена функцией ведёт подсчет за просто не написать 2-го файла, если А в таблицах исходной таблицы.
(при изменении данных не одинаковы - скопировать.End With TypeName(FilesToOpen) = «Boolean» для консолидации данных. требуется разместить консолидированныеНа конечном листе щелкните и столбцов (данныеобъединить книги… в которую вы совместного редактирования. Совместное месяц, а второй200?’200px’:»+(this.scrollHeight+5)+’px’);»>Set rSheets = rSheets.Offset(rSheet.Row прописываю 2 раза, на всех листах.KuklP
planetaexcel.ru
Объединить книг в одну книгу (Объединить книг в одну книгу)
в исходных файлах) у них различныеХотя я быNext Then MsgBox «НеУстановите флажки в группе данные. верхнюю левую ячейку при этом могут. хотите добавить изменения. редактирование позволяет гораздо документ ведет подсчет
— rSheets.Row) то процедура выполняется,florenus: Может так(жмем кнопку)? производить пересчет консолидированного размеры и смысловая
написал немного иначе.
Application.ScreenUpdating = True
выбрано ни одного
Использовать в качестве именПримечание:
области, в которой
быть расположены по-разному),Если появится запрос, сохранитеНа
эффективнее объединять изменения
за год. НадоReAnima но данные с
:200?'200px':''+(this.scrollHeight+5)+'px');">Sub www()
отчета автоматически.
начинка. Тем не Но и так
End Sub файла!" Exit Sub, указывающие, где в Убедитесь, что справа и
требуется разместить консолидированные используйте консолидацию по
книгу.панели быстрого доступа
и доступно в
чтоб не открывать
: Спасибо, завтра попробую.
1-й книги вставляются
KuklP
Dim ws AsПосле нажатия на менее их можно работает.
Я ниже прикрепил End If ‘проходим исходных диапазонах находятся снизу достаточно свободных данные. категории.В диалоговом окне Навигация
нажмите кнопку некоторых версиях Excel,
годовую книгу синхронизировать
ReAnima 1-н раз, а
, не могли бы Worksheet, l&
ОК
собрать в единыйИмеем несколько однотипных таблиц
свой пример, подскажите
по всем выбранным названия: ячеек для консолидированныхПримечание:
Более новые версии по файлам щелкнитеСравнить и объединить книги
включая Excel 2016 для
с месяцем.: не работает, на данные со 2-й Вы расшифровать макрос?
With Sheets(«Svod»)видим результат нашей отчет меньше, чем на разных листах пожалуйста как решить файлам x =подписи верхней строки данных. Убедитесь, что справа и Office 2011 г. копию книги, которая. подписчиков Office 365.
Alex77755 извлечении данных со
книги вставляются 2KuklP.UsedRange.Offset(1).ClearContents работы: за минуту. Единственным одной книги. Например,
эту проблему! 1 While x,
На вкладке снизу достаточно свободных
содержит изменения, которыеЕсли появится запрос, сохраните
Windows macOS : Dim arr, i 2-го файла (тестировал раза. Сам разобраться: Он не зашифрован.
For Each wsНаши файлы просуммировались по условием успешного объединения вот такие:
excelworld.ru
Консолидация (объединение) данных из нескольких таблиц в одну
Способ 1. С помощью формул
KuklPПосле этого можно вернутьсязначения левого столбцаДанные
ячеек для консолидированныхДля консолидации по расположению вы хотите объединить, книгу.Важно:
As Long, j на 3-х) выдает не смог, подскажите,florenus In Worksheets
совпадениям названий из
(консолидации) таблиц вНеобходимо объединить их все: Для двух книг в Excel илибо оба флажкав разделе данных.
диапазон данных на а затем нажмитеВ диалоговом окне Прежде чем продолжить, необходимо As Long arr
ошибку.
что нужно поменять:If Not ws.Name крайнего левого столбца подобном случае является в одну общую быстрей скопировать вручную, запустить созданный макрос одновременно.СервисНа вкладке каждом из исходных кнопкуВыберите, какие файлы включить
Способ 2. Если таблицы неодинаковые или в разных файлах
убедиться, что вы = GetObject(«d:basa.xls»).worksheets(1).Range(«C3», «C9954»).ValueYaroslaw в процедуре. ЗаранееKuklP = «Svod» Then и верхней строки совпадение заголовков столбцов таблицу, просуммировав совпадающие чем писать макрос. через менюВыделите на каждом листенажмите кнопку
Данные листов должен иметьОК в книгу хотите использовать этот ‘.usedrange.Value ‘Всё -: Подскажите как можно спасибо. Файл во, извините не правильноl = .Cells.Find(«*»,
выделенных областей в и строк. Именно значения по кварталам А для ВасСервис — Макрос - нужные данные. НеКонсолидацияв группе формат списка без.щелкните копию книги, метод. Общие книги диапазон в массиве в excel 2013 вложении. выразился. Вы не [a1], xlFormulas, 1, каждом файле. Причем, по первой строке и наименованиям.
глядишь и стимул Макросы (Tools -
- забудьте включить в
- .Работа с данными
- пустых строк иПримечание: изменения из которой имеют ограничения, аIgorka80 объединить две рабочихP.S. данные с
- могли бы расписать 1, 2).Row + если развернуть группы и левому столбцуСамый простой способ решения будет подучить ВБА Macro — Macros) них ранее выбранныеВыберите в раскрывающемся списке нажмите кнопку столбцов.Мы стараемся как вы хотите добавить. один из них
- : я не могу книги? 1-й книги необходимы какая команда что 1 (значками плюс слева
каждой таблицы Excel задачи «в лоб»На всякий случайили нажав данные из верхнейфункциюКонсолидацияОткройте каждый из исходных можно оперативнее обеспечивать Чтобы одновременно объединить не позволяет редактировать сообразить как надоSanja полностью, с каждой выполняет.ws.UsedRange.Offset(1).Copy .Range(«a» & от таблицы), то будет искать совпадения — ввести в загляните:ALT+F8 строки или левого, которую требуется использовать.
листов и убедитесь вас актуальными справочными несколько копий, щелкните их с помощью
прописать чтоб на: А как надо? последующей книги безЕсли не трудно l) можно увидеть из и суммировать наши ячейку чистого листаhttp://forum.msexcel.ru/index.php/topic,7217.msg46197.html#new. Отобразится диалоговое окно столбца. Затем нажмите для консолидации данных.Выберите в раскрывающемся списке в том, что материалами на вашем
planetaexcel.ru
объединение данных с нескольких листов книги на один (Макросы Sub)
их имена, удерживая Excel Online. Поэтому
сегодня было видно Просто перенести листы 1-й строки (шапка).
конечно. Мне нужно,End If какого именно файла
данные. формулу видаErmak27 открытия файла, где кнопкуВыделите на каждом листефункцию данные на них языке. Эта страница нажатой клавишу CTRL мы настоятельно рекомендуем что есть сегодня,
из одной в_Boroda_ чтобы листы собиралисьNext какие данные попали
Для того, чтобы выполнить
=’2001 год’!B3+’2002 год’!B3+’2003 год’!B3: Может кто подскажет
необходимо указать одинДобавить нужные данные и, которую требуется использовать расположены одинаково. переведена автоматически, поэтому
или SHIFT, а использовать совместное редактирование, месяц там ведётся другую?
: Что-то я не не со второйEnd With в отчет и такую консолидацию:которая просуммирует содержимое ячеек
RAN или несколько (удерживая. нажмите кнопку для консолидации данных.
На конечном листе щелкните ее текст может
затем нажмите кнопку
которое является заменой основная ведомость, а
Yaroslaw
очень понял такого
строки а сEnd Sub
ссылки на исходныеЗаранее откройте исходные файлы
B2 с каждого: Подсказываю CTRL или SHIFT)Путь к файлу вводится
ДобавитьУстановите флажки в группе
верхнюю левую ячейку
содержать неточности и
ОК
для общих книг.
год он переходный: две книги с замута с названиями первой.migo
файлы:Создайте новую пустую книгу из указанных листов,http://www.excel-vba.ru/chto-um….li-knig файлов, листы из в поле.
Использовать в качестве имен области, в которой грамматические ошибки. Для.Откройте вкладку между месяцами и
одинаковыми данными объединить
и с парными_Boroda_: Да, то чтоmigo (Ctrl + N) и затем скопироватьНо согласен с которых надо добавить
Все ссылкиПуть к файлу вводится
, указывающие, где в требуется разместить консолидированные нас важно, чтобы
Важно:Рецензирование
его не кто
в другую книгу Setами, ну да: .Offset(1) сотрите надо! я именно: Здравствуйте!Установите в нее активную ее на остальные предыдущим оратором к текущей книге.. в поле исходных диапазонах находятся
данные. эта статья была Прежде чем продолжить, выи посмотрите, есть
не должен видеть. (общую) ладно. У ВасAliya так и хотел
Прошу Вашей помощи ячейку и выберите
ячейки вниз иОтвет на ЛС.Ermak27После добавления данных изВсе ссылки названия:Примечание: вам полезна. Просим
должны быть уверены, ли на ней Помогите а тоZ rSheets получается из: Здр-те
спасибо!! в решении следующей
на вкладке (в вправо.
Ermak27: Добрый день! Столкнулся всех исходных листов.подписи верхней строки Убедитесь, что справа и вас уделить пару что хотите использовать кнопка за компом работает: А как задали? ячеек В2:В3, аAliyaЯ правильно понял, задачи: меню)Если листов очень много,: Подскажите пожалуйста почему
с такой проблемой, и книг нажмитеПосле добавления данных из, снизу достаточно свободных
excelworld.ru
Объединение данных с нескольких книг в одну (Формулы/Formulas)
секунд и сообщить, этот способ. ОбщиеОбщий доступ к книге
очень много народу Что сами сделали нужно, насколько я: у меня вопрос. чтоб сделать такойесть книга эксельДанные — Консолидация то проще будет у меня выдает есть две книги кнопку всех исходных листовзначения левого столбца ячеек для консолидированных помогла ли она книги имеют ограничения,. Если кнопки нет, и каждый раз и что не понял, только В2. Мне понравился очень же макрос в состоящая из 12(Data — Consolidate) разложить их все ошибку каждая книга дляОК и книг нажмителибо оба флажка данных. вам, с помощью
поэтому мы настоятельно ее необходимо отобразить. искать где они получается?Попробуйте написать с
ваш макрос. У моем файле, состоящем листов.. Откроется соответствующее окно: подряд и использовать200?’200px’:»+(this.scrollHeight+5)+’px’);»>Range(«a» & rrow & каждой организации, они. кнопку одновременно.На вкладке
кнопок внизу страницы. рекомендуем использовать вместо
Кроме того, потребуется нарушили формулу утомляет.См. - ... минус единицей
меня имеется файл из 9 страниц,на каждом изУстановите курсор в строку немного другую формулу: «:ar» & Cells(rrow, туда заполняют данныеПримечание:ОКВыделите на каждом листеДанные Для удобства также них совместное редактирование.
отобразить кнопку «СравнитьIgorka80The_Prist
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Set rSheets = rSheets.Offset(rSheet.Row с несколькими страницами. я должен изменить этих листов находитсяСсылка=СУММ(‘2001 год:2003 год’!B3) 6).End(xlDown).Row).Clear и есть итоговая Любые названия, не совпадающие
. нужные данные. Нев группе приводим ссылку наНа вкладке и объединить книги».: Я не могу
: Какой вопрос - — rSheets.Row).Resize(rSheets.Rows.Count - В каждом листе только эту строку?
данные, которые надо(Reference)
Фактически — это суммированиефайл прикрепил ниже
книга по этим с названиями вДля консолидации по категории забудьте включить вРабота с данными оригинал (на английском
excelworld.ru
Объединение двух книг в excel 2013
Рецензирование В этой статье понять как его такой ответ. rSheet.Row + rSheets.Row
примерно 5000 строк.l = .Cells.Find(«*», совместить на отдельноми, переключившись в всех ячеек B3
_Boroda_ организация, как автоматически других исходных областях, диапазон данных на них ранее выбранные
нажмите кнопку языке) .нажмите кнопку объясняется, как отобразить вставить чтоб он
Открываете обе книги
— 1) И когда я , xlFormulas, 1,
листе этой же файл Иван.xlsx, выделите на листах с: А почему у собрать данные с могут привести к каждом из исходных
данные из верхнейКонсолидацияЕсли данные, которые требуетсяоткрыть книгу эти кнопки. начал работать. и из однойА по поводу применяю ваш макрос, 1, 2, 3, книги. В идеале таблицу с данными 2001 по 2003,
Вас rrow=6, а двух книг в появлению в консолидированных листов должен иметь строки или левого
. проанализировать, представлены на.
На вкладкеAlex77755
planetaexcel.ru
Как объединить данные двух книг не открывая вторую
копируете данные в первой строки - то он очень 4, 5, 6, — чтоб при (вместе с шапкой). т.е. количество листов, не 10? итоговую? данных отдельных строк формат списка без столбца.Выберите в раскрывающемся списке
нескольких листах илиНа вкладкеРецензирование: без защит «от другую(выделяете нужные данные можно всегда вставлять долго думает. Вопрос:
7, 8, 9).Row появлении в одном Затем нажмите кнопку по сути, можетErmak27Я перелазил кучу или столбцов. пустых строк иПуть к файлу вводитсяфункцию в нескольких книгах,Правкаили на панели дурака» — Ctrl+C, переходите отдельно первую строку Почему так. Может + 1
из листов новыхДобавить быть любым. Также: Да заметил ошибочка форумов и нашел
Предположим, имеется куча книг столбцов. Кроме того, в поле
CyberForum.ru
, которую требуется использовать
Вы когда-нибудь застревали, когда вам нужно было объединить несколько книг в основную книгу в Excel? Самое ужасное, что книги, которые нужно объединить, содержат несколько листов. И как объединить только указанные листы нескольких книг в одну книгу? В этом руководстве показано несколько полезных методов, которые помогут вам поэтапно решить проблему.
- Способ A: Объедините несколько книг в одну с помощью функции перемещения или копирования
- Способ B: Объединение нескольких книг или указанных листов книг в основную книгу с помощью VBA
- Метод C: Легко объединяйте несколько книг или указанные листы книг в одну книгу
Объедините несколько книг в одну книгу с помощью функции перемещения или копирования
Если необходимо объединить всего несколько книг, вы можете использовать команду «Переместить» или «Копировать», чтобы вручную переместить или скопировать листы из исходной книги в основную книгу.
1. Откройте книги, которые вы объедините в основную книгу.
2. Выберите листы в исходной книге, которые вы переместите или скопируете в основную книгу.
Ноты:
1). Вы можете выбрать несколько несмежных листов, удерживая Ctrl и щелкая вкладки листа одну за другой.
2). Чтобы выбрать несколько соседних листов, нажмите вкладку первого листа и удерживайте Shift ключ, а затем щелкните вкладку последнего листа, чтобы выбрать их все.
3). Вы можете щелкнуть правой кнопкой мыши на любой вкладке листа, щелкнуть Выбрать все листы в контекстном меню, чтобы выбрать все листы в книге одновременно.
3. После выбора необходимых листов щелкните правой кнопкой мыши вкладку листа, а затем щелкните Переместить или скопировать из контекстного меню. Смотрите скриншот:
4. Затем Переместить или скопировать всплывает диалоговое окно в Бронировать в раскрывающемся списке выберите основную книгу, в которую вы переместите или скопируете листы. Выберите переместить, чтобы закончить в Перед листом поле, отметьте Создать копию поле и, наконец, щелкните OK кнопку.
Тогда вы можете увидеть листы в двух книгах, объединенных в одну. Повторите описанные выше действия, чтобы переместить листы из других книг в основную книгу.
Объединение нескольких книг или указанных листов книг в основную книгу с помощью VBA
Если необходимо объединить несколько книг в одну, вы можете применить следующие коды VBA, чтобы быстро добиться этого. Пожалуйста, сделайте следующее.
1. Поместите все книги, которые вы хотите объединить, в одну в один каталог.
2. Запустите файл Excel (эта книга будет основной книгой).
3. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте ниже код VBA в окно модуля.
Код VBA 1: объединить несколько книг Excel в одну
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:UsersdtDesktopdt kte"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Ноты:
1. Приведенный выше код VBA сохранит имена листов исходных книг после слияния.
2. Если вы хотите различать, какие рабочие листы в главной книге были получены после слияния, примените приведенный ниже код VBA 2.
3. Если вы просто хотите объединить указанные листы книг в основную книгу, может помочь приведенный ниже код VBA 3.
В кодах VBA: «C: Users DT168 Рабочий стол KTE »- это путь к папке. В коде VBA 3 «Лист1, Лист3«- это указанные рабочие листы книг, которые вы объедините в основную книгу. Вы можете изменить их в зависимости от ваших потребностей.
Код VBA 2: объединить книги в одну (каждый рабочий лист будет назван с префиксом исходного имени файла):
Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:UsersDT168DesktopKTE"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Код VBA 3: объединить указанные листы книг в основную книгу:
Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = " C:UsersDT168DesktopKTE"
xStrName = "Sheet1,Sheet3"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. нажмите F5 ключ для запуска кода. Затем все рабочие листы или указанные рабочие листы рабочих книг в определенной папке сразу объединяются в основную книгу.
Легко объединяйте несколько книг или указанные листы книг в одну книгу
К счастью, Сочетать рабочая тетрадь Kutools for Excel значительно упрощает объединение нескольких книг в одну. Давайте посмотрим, как заставить эту функцию работать при объединении нескольких книг.
1. Создайте новую книгу и щелкните Кутулс Плюс > Сочетать. Затем появится диалоговое окно с напоминанием о том, что все объединенные книги должны быть сохранены, а функция не может быть применена к защищенным книгам, нажмите кнопку OK кнопку.
2. в Комбинировать листы мастер, выберите Объедините несколько листов из книг в одну книгу вариант, а затем щелкните Download кнопка. Смотрите скриншот:
3. в Объединить рабочие листы — шаг 2 из 3 диалогового окна, нажмите Добавить > Файл or Папка чтобы добавить файлы Excel, которые вы объедините в один. После добавления файлов Excel щелкните значок Завершить и выберите папку для сохранения основной книги. Смотрите скриншот:
Теперь все книги объединены в одну.
По сравнению с двумя вышеуказанными методами, Kutools for Excel имеет следующие преимущества:
- 1) Все книги и рабочие листы перечислены в диалоговом окне;
- 2) Для листов, которые вы хотите исключить из объединения, просто снимите флажок;
- 3) Пустые рабочие листы исключаются автоматически;
- 4) Исходное имя файла будет добавлено в качестве префикса к имени листа после объединения;
- Чтобы узнать о дополнительных функциях этой функции, пожалуйста, посетите здесь.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Kutools for Excel — Помогает всегда закончить работу раньше времени, чтобы у вас было больше времени, чтобы наслаждаться жизнью
Вы часто играете в догонялки с работой, не хватает времени на себя и семью? Kutools for Excel может помочь вам справиться с 80% Совершенствуйте головоломки и повысьте эффективность работы на 80%, дайте вам больше времени, чтобы заботиться о семье и наслаждаться жизнью.
300 расширенных инструментов для 1500 рабочих сценариев сделают вашу работу намного проще, чем когда-либо.
Больше не нужно запоминать формулы и коды VBA, теперь дайте вашему мозгу отдохнуть.
Сложные и повторяющиеся операции могут быть выполнены разовой обработкой за секунды.
Сократите количество операций с клавиатурой и мышью каждый день, попрощайтесь с профессиональными заболеваниями прямо сейчас.
Станьте экспертом по Excel за 3 минуты, это поможет вам быстро получить признание и продвижение по службе.
110,000 300 высокоэффективных людей и выбор XNUMX+ всемирно известных компаний.
Сделайте так, чтобы ваши 39.0 доллара были больше, чем обучение других людей.
Полнофункциональная бесплатная пробная версия 30-день. 60-дневная гарантия возврата денег без объяснения причин.