Как из двух файлов excel сделать один?
Вам когда-нибудь приходилось сводить несколько таблиц Excel в одну? Самое неприятное в этом процессе, обычно, заключается в том, что эти таблицы могут содержать сразу по несколько листов внутри каждого файла. Есть ли решение данной проблемы? Сегодня вы об этом узнаете.
Объединим несколько файлов Excel в один, воспользовавшись силой скрипта VBA
Этот способ сделает все за вас, но только вам придется немного под напрячься. Хорошо, если у вас есть хоть какие-то навыки программиста. Но, если вы полный чайник в Excel и, вообще, в компьютере, то переходите ко второму способу, либо, будьте очень внимательными.
Итак, приступим.
Как и в методе «Как объединить несколько файлов Ворд в один», во-первых, прежде чем дать команду объединить несколько таблиц в одну в Excel, вам нужно эти таблицы собрать в одну отдельную папку. Посмотрите на скриншоте, как я это сделал.
Теперь запустим программу VBA. Прочитайте в «Запуск скрипта VBA в Word», потому что принцип в Excel тот же самый.
Теперь, когда вы готовы, вот сам код скрипта:
Sub GetSheets() Path = "Укажите пусть до папки с файлами Excel" 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
Прошу обратить внимание на две строчки.
- Path = «Укажите пусть до папки с файлами Excel». Конечно, надпись в кавычках нужно заменить. Например, я заменил на … и вот, что у меня получилось: Path = » D:mrUnrealistDocumentsНовая папка»
- Filename = Dir(Path & «*.xls»). В кавычках указан формат файла. В Excel их, обычно, два: .xls и .xlsx. Нажмите на файл правой кнопкой мыши и посмотрите «Свойства» файла. В скобках указан правильный тип файла.несколько таблиц в одну excel
Этот код подойдет, если нужно объединить все листы в один файл Эксель. Но, если вам необходимо объединить определенные листы некоторых файлов, переходите к следующему способу.
Функция «Переместить/скопировать» поможет объединить несколько листов Excel в один файл
В этом методе мы научимся копировать листы из одного файла Excel в другие.
- Откройте все файлы, из которых вы собираетесь копировать листы, и тот файл (это может быть и новая пустая книга Эксель), в котором будут эти листы собраны.
- Теперь откройте книгу, из которой будете копировать листы. Выберите те листы, которые вам нужны. Для множественного выбора держите зажатой клавиши CTRL (для выбора отдельных листов), либо SHIFT (для выбора всех вместе листов).
- Нажмите по имени листа правой кнопкой мыши и в контекстном меню выберите пункт «Переместить/скопировать».
- В окне «Переместить или скопировать» выберите из списка «Переместить выбранные листы в книгу» нужную вам книгу. Т.е. ту, где вы собираете все листы вместе. А в списке «Перед листом» укажите место, где эти листы будут вставлены.
Если вы не желаете, чтобы ваши листы пропали из открытой книги, поставьте галочку «Создать копию». - Нажмите на кнопку «ОК» и выбранные листы будут перемещены или скопированы.
- Повторяйте со второго пункта до тех пор, пока вы не получите должного результата.
На этом все. Подписывайтесь, вступайте в группу вКонтакте или ОК, комментируйте, и не забывайте делиться с другими!
Оценка статьи:
(
votes, average:
out of 5)
Как объединить несколько файлов Excel в один Ссылка на основную публикацию
Добавим примечание если не знаете VBA 🙂
Задача сводится к 2-м вопросам:
1) Как установить расширение в Excel
2) Как свести несколько Excel файлов в общую таблицу в отдельном файле
Часть 1: установить расширение в ExcelС вопросом нам поможет RDBMerge (оф. сайт) скачать его можно с официального сайта: тут или моя копия на google drive тут
Рекомендуется все расширения хранить в одной какой-то папке, которую вы не будите никуда перемещать. После скачивания архива (zip) распакуйте его в эту папку.
Дальше идет много картинок, поэтому я спрятал все это дело под кат, если нужно — нажмите читать или подробнее — как оно там отобразится на платформе блога.
Теперь подключим расширение:
Ну и находим иконку расширения:
Часть 2: Как свести несколько Excel файлов в общую таблицу в отдельном файлеВообще этот пост родился как справка на вопрос journal_rediski, я честно скажу, что ее первую часть вопроса пропустил, но как понял у нас имеются следующие исходные данные:
Множество файлов одинаковой структуры, например:
Файл один
Файл два
Берем и кладем эти файлы в одну папку. Запускаем расширение и устанавливаем параметры:
Кнопкой «browse» выбираем папку где у нас лежать файлы Excel, рядом есть галочка на случай если положить в одну папку не получится (у файлов строгая иерархия).
Дальше выбираем галочкой, что хотим объединить все файлы (имеется в виду в указной директории), если выбрать самый первый вариант, то потом при нажатии кнопки можно будет выбирать конкретные файлы в ЛЮБЫХ МЕСТАХ — это полезно если вам лень складывать все файлы в одно место, но совсем не жаль времени лазить по ПК в разные места 🙂
В разделе «Which range» можно задать области импорта. Первая галочка позволит копировать данные с определенного диапазона — это полезно когда вам нужен кусок таблицы, второй параметр позволяет задать начало копирования когда нужно скопировать все данные до самого конца листа, здесь мы поставили А2 — чтобы пропустить названия столбцов (шапку).
А вот с галочкой «Paste as Value» и печально и нет одновременно — она нужна чтобы вставлять ячейки как текст/число для избежания проблем с формулами, проблемы с формулами возникают тогда, когда какой-то элемент ссылается на данные которые не копируются. Но если ее поставить то лично у меня не переносится формат даты, поэтому у меня она снята, ну а радостное, что без нее формулы тоже переносятся.
Ну и поехали, после Merge получаем:
Первый столбец оставлен чисто для информации, его можно удалить, внизу можно перейти на новый лист и посмотреть отчет об импорте:
Это полезно делать если у вас много файлов, здесь можно увидеть все ли они перенеслись или были ошибки.
Ну вот и все… самое забавное что на vba решение заняло бы всего пару десятков строк кода 🙂
Бывает много схожих по тематике файлов Excel, а почему не попробовать объединить их в одну книгу?
Открываем файл Excel, куда хотим внести данные из других файлов, входим в редактор Visual Basic (
Alt+F11 ), добавляем новый пустой модуль (
Insert — Module
) и копируем туда текст вот такого макроса:
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:=»Microsoft Excel Files (*.xls), *.xls», _
MultiSelect:=True, Title:=»Files to Merge»)
If TypeName(FilesToOpen) = «Boolean» Then
MsgBox «Не выбрано ни одного файла!»
GoTo ExitHandler
End If
x = 1
While xподскажите как из нескольких файлов excell сделать один.
есть несколько десятков смет в экселе, нужно в один файл внести все материалы из этих смет и сколько чего требуется закупить. идентиф-я идет по уникальному коду
грубо:
есть таблицы, в несколько колонок. 1 код/2 название/…/…/ цена вопроса
нужно составить 1 таблицу, где
строки вида:
1 код1/2 название/…/…/ сумма цен по данному коду во всех книгах
1 код2/2 название/…/…/ сумма цен по данному коду во всех книгах
1 код3/2 название/…/…/ сумма цен по данному коду во всех книгах
…. и так порядка 300 кодов в 6 десятках документовТема закрыта и находится в архиве, не беспокойте автора без особой необходимости!