Перейти к содержимому

Как собрать данные из разных файлов excel в один

  • автор:

Сборка листов из разных книг в одну

Предположим, имеется куча книг 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 

После этого можно вернуться в Excel и запустить созданный макрос на вкладке Разработчик кнопкой Макросы (Developer - Macros) или нажав Alt + F8 . Отобразится диалоговое окно открытия файла, где необходимо указать один или несколько (удерживая Ctrl или Shift ) файлов, листы из которых надо добавить к текущей книге - и задача решена!

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

  • Что такое макросы, куда вставлять код макроса на Visual Basic
  • Автоматическая сборка заданных листов из заданных книг с помощью надстройки PLEX
  • Автоматическая сборка данных с нескольких листов на один итоговый лист с помощью надстройки PLEX
07.10.2012 13:27:51 Очень удобная вещь.
Пока правда других способов не знаю.
Спасибо. 07.10.2012 13:29:50 Спасибо. Макрос - ОГОНЬ! Полезная штука!. 07.10.2012 13:32:01

Да, согласен, макрос очень даже неплох, но из Personal работать отказывается. Прична, как мне кажется, в том что Personal некоторые команды не воспринимает, или воспринимает как то иначе. например ThisWorkbook. Я переделал макрос, теперь работает и из Personal без проблем. получилось следующее:

Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer Dim wbk As Workbook Dim wbk2 As Workbook On Error GoTo ErrHandler Set wbk = ActiveWorkbook Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Microsoft Excel Files (*.xls), *.xls", _ MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "No files!" GoTo ExitHandler End If x = 1 While x 

01.06.2016 07:29:59

Разрешите обратиться!
У меня при копировании листов с книг разных версий екселя работает только Ваш макрос, однако когда я хочу скопировать только первый лист с разных книг, я указал следующий код:

wbk2.Sheets(1).Move After:=wbk.Sheets(wbk.Sheets.Count)

:)

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

28.10.2020 20:06:14

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

(FileFilter:="All files (*.*), *.*", _

07.10.2012 13:35:48

Вот рабочий макрос, собирает любое количество листов. этот макрос работает и из Personal. Пользуйтесь, люди .

Sub Сбор_листов_в_один_файл() Const strStartDir = "c:\test" 'папка, с которой начать обзор файлов Const strSaveDir = "c:\test\result" 'папка, в которую будет предложено сохранить результат Dim wbTarget As New Workbook, wbSrc As Workbook, shSrc As Worksheet, shTarget As Worksheet, arFiles, _ i As Integer, stbar As Boolean On Error Resume Next 'если указанный путь не существует, обзор начнется с пути по умолчанию ChDir strStartDir On Error GoTo 0 With Application 'меньше писанины arFiles = .GetOpenFilename("Excel Files (*.xls), *.xls", , "Объединить файлы", , True) If Not IsArray(arFiles) Then End 'если не выбрано ни одного файла Set wbTarget = Workbooks.Add(template:=xlWorksheet) .ScreenUpdating = False stbar = .DisplayStatusBar .DisplayStatusBar = True .DisplayAlerts = False For i = 1 To UBound(arFiles) .StatusBar = "Обработка файла " & i & " из " & UBound(arFiles) Set wbSrc = Workbooks.Open(arFiles(i), ReadOnly:=True) For Each shSrc In wbSrc.Worksheets If IsNull(shSrc.UsedRange.Text) Then 'лист не пустой Set shTarget = wbTarget.Sheets.Add(after:=wbTarget.Sheets(wbTarget.Sheets.Count)) shTarget.Name = shSrc.Name & "-" & i shSrc.Cells.Copy shTarget.Range("A1") End If Next wbSrc.Close False 'закрыть без запроса на сохранение Next .ScreenUpdating = True .DisplayStatusBar = stbar .StatusBar = False If wbTarget.Sheets.Count = 1 Then 'не добавлено ни одного листа MsgBox "В указанных книгах нет непустых листов, сохранять нечего!" wbTarget.Close False End Else .DisplayAlerts = False wbTarget.Sheets(1).Delete .DisplayAlerts = True End If On Error Resume Next 'если указанный путь не существует и его не удается создать, 'обзор начнется с последней использованной папки If Dir(strSaveDir, vbDirectory) = Empty Then MkDir strSaveDir ChDir strSaveDir On Error GoTo 0 arFiles = .GetSaveAsFilename("Результат", "Excel Files (*.xls), *.xls", , "Сохранить объединенную книгу") If VarType(arFiles) = vbBoolean Then 'если не выбрано имя GoTo save_err Else On Error GoTo save_err wbTarget.SaveAs arFiles End If End save_err: MsgBox "Книга не сохранена!", vbCritical End With End Sub

Как собрать данные из разных файлов excel в один

MARCHBANNER2017

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

cons2

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

1

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

2

В отдельном файле, в котором будем выполнять объединение, выбрав ячейку, переходим на вкладку «Данные» и нажимаем на кнопку «Консолидация»

3

4

В строке «ССЫЛКА» сдвигаемся вправо мышью на конец ссылки, выделяя последние элементы (применять стрелки нельзя) и нажимаем на кнопку выбора диапазона.

5

В окне после «!» дописываем имя диапазона, из которого будут браться данные так, как присвоили в исходном файле (Продажи2012)

6

Повторяем для всех остальных файлов те же самые действия и нажимаем «ОК». Поставив все галки ниже в окне, в том числе «Создавать связи с исходными данными» - консолидированная таблица будет зависеть от параметров в исходных данных.
7
8

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

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

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

Объединение рабочих листов в один в табличном редакторе

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

  1. Производим открытие рабочих листов, которые мы планируем объединить в один файл.
  2. Передвигаемся в подраздел, имеющий наименование «Главная». Здесь в блоке команд «Формат» находим элемент под наименованием «Переместить или скопировать лист» и жмем по нему левой клавишей мышки.
  3. В раскрывшемся перечне жмем левой клавишей мышки на кнопку «(новая книга)».
  4. После реализации всех действий жмем на «ОК».
  5. Аналогичные операции необходимо произвести с остальными листами табличного документа.

Объединение информации в один файл

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

kak-obedinit-fajly-excel-v-odin

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

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

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

kak-obedinit-fajly-excel-v-odin

  1. В отобразившемся перечне жмем левой клавишей мышки по элементы «Сумма». Далее вводим координаты ячеек, которые мы планируем объединить.

kak-obedinit-fajly-excel-v-odin

  1. Аналогичные действия мы производим и с другой информацией, которую мы планируем объединить в один файл.
  2. После проведения всех необходимых действий жмем на «ОК», чтобы подтвердить внесенные изменения.

kak-obedinit-fajly-excel-v-odin

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

Объединение файлов при помощи VBA

Макросы, прописываемые в VBA, превосходно подходят для реализации процедуры объединения нескольких табличных документов в единый файл. Процедура не такая сложная, как кажется на первый взгляд. Главное – следовать пунктам подробной инструкции:

kak-obedinit-fajly-excel-v-odin

  1. Первоначально необходимо убедиться в том, что все необходимые табличные документы располагаются в одном месте персонального компьютера.
  2. На следующем этапе необходимо зайти в табличный редактор Эксель и создать в нем новую книгу, которая будет служить инструментом объединения остальных табличных документов.
  3. При помощи специальной комбинации горячих клавиш «Alt+F11» перемещаемся в «Visual Basic».
  1. Сначала нажимаем на «Вставить», а затем в появившемся перечне жмем левой клавишей мышки на элемент, имеющий наименование «Модуль».
  2. Теперь сюда необходимо написать следующий небольшой код:

Sub GetSheets()

Path = «ваш путь»

Filename = Dir(Path & «*.xls»)

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. В переменную Path необходимо написать путь к тому месту персонального компьютера, в котором располагаются табличные документы для объединения.
  2. Производим сохранение табличного документа в формате «XLSM», чтобы активировать созданные макросы.
  3. Производим запуск макроса.
  4. Готово! Мы объединили все файлы, находящиеся в папке, в один табличный документ.

Заключение

Мы выяснили, что существует множество способов, позволяющих реализовать объединение нескольких файлов в один табличный документ. Использовать функцию под названием «Консолидация» целесообразно только в том случае, если в файлах содержится только числовая информация, так как функция не способна корректно работать с данными текстового формата. Самый эффективный способ, позволяющий качественно объединить табличный документы в один файл без потери информации, – это использование интегрированного языка программирования «Visual Basic» и активация специальных макросов. Однако каждый пользователь сможет сам подобрать более удобный для себя способ объединения табличных документов.

Объединить Excel

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

Особенности работы приложения»

Приложение дает возможность объединить несколько Excel файлов в один документ. Благодаря надежному слиянию документов Excel вы можете легко объединить несколько Excel с высокой скоростью и сохранить результат в различных форматах, включая PDF, DOCX, HTML, MD, EPUB, PNG и JPG. Приложение работает на всех операционных системах, включая Windows, Linux, MacOS и Android. От вас не требуется установка плагинов или дополнительного програмного обеспечения. Приложение работает онлайн, не требует регистрации и не запрашивает идентификацию с помощью капча.

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

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

Откройте в веб-браузере наш сайт и перейдите к инструменту слияния.

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

Нажмите кнопку «ОБЪЕДИНИТЬ», чтобы начать объединение файлов.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *