Макрос в эксель на заполнение таблицы из нескольких файлов
Добрый день форумчане!
Есть табеля работы персонала по разным магазинам. Мне нужно сделать общий табель в который добавятся данные по каждому продавцу
из каждого файла. Грубо говоря перенос данных построчно. Необходимо переносить данные только тех строк где есть ИНН. (ФИО, ИНН, раб дни, итого з/и т.д.)
- название файлов может меняться.
- количество файлов может меняться.
- все лежат всегда в одной папке.
Прилагаю файлы и в файле "Итоговая" сделал пример Лист 1 - пустой график, Лист 2 - заполненный.
Пробовал через ИНДЕКС + ПОИСКПОЗ понял что будут очень большие формулы да и названия должны быть одинаковые.
Видимо выход макрос а я в нем не силён.
Заранее благодарю.
Эксель 2007
Решение - макрос.
Добрый день форумчане!
Есть табеля работы персонала по разным магазинам. Мне нужно сделать общий табель в который добавятся данные по каждому продавцу
из каждого файла. Грубо говоря перенос данных построчно. Необходимо переносить данные только тех строк где есть ИНН. (ФИО, ИНН, раб дни, итого з/и т.д.)
- название файлов может меняться.
- количество файлов может меняться.
- все лежат всегда в одной папке.
Прилагаю файлы и в файле "Итоговая" сделал пример Лист 1 - пустой график, Лист 2 - заполненный.
Пробовал через ИНДЕКС + ПОИСКПОЗ понял что будут очень большие формулы да и названия должны быть одинаковые.
Видимо выход макрос а я в нем не силён.
Заранее благодарю.
Эксель 2007
Решение - макрос. Logist
Есть табеля работы персонала по разным магазинам. Мне нужно сделать общий табель в который добавятся данные по каждому продавцу
из каждого файла. Грубо говоря перенос данных построчно. Необходимо переносить данные только тех строк где есть ИНН. (ФИО, ИНН, раб дни, итого з/и т.д.)
- название файлов может меняться.
- количество файлов может меняться.
- все лежат всегда в одной папке.
Прилагаю файлы и в файле "Итоговая" сделал пример Лист 1 - пустой график, Лист 2 - заполненный.
Пробовал через ИНДЕКС + ПОИСКПОЗ понял что будут очень большие формулы да и названия должны быть одинаковые.
Видимо выход макрос а я в нем не силён.
Заранее благодарю.
Эксель 2007
Решение - макрос. Автор - Logist
Дата добавления - 06.08.2013 в 17:54
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Дата добавления - 06.08.2013 в 19:18 С Workbooks(2).Close False я бы не спешил - у меня например их всегда открыто 4.
Лучше так:
[vba] С Workbooks(2).Close False я бы не спешил - у меня например их всегда открыто 4.
Лучше так:
[vba] [/vba] Автор - Hugo
Дата добавления - 06.08.2013 в 20:36 Тяжелый день. Как только не пробовал прописать закрытие только что открытой книги, даже не подумал о таком варианте )
Спасибо , Hugo ) Тяжелый день. Как только не пробовал прописать закрытие только что открытой книги, даже не подумал о таком варианте )
Спасибо , Hugo ) SkyPro Здесь нашел макрос который собирает данные из выбранных Книг в один файл,
но копирует все данные файла.
[vba]
Application.ScreenUpdating = True
End Sub
и вроде вот оно решение осталось только применить сортировку и удалить лишние строки по колонке с ИНН, но беда в том (как я понял) что есть объединенные ячейки и сортировка не может быть выполнена. Файл результат описанного макроса прилагаю.
Здесь нашел макрос который собирает данные из выбранных Книг в один файл,но копирует все данные файла.
[vba]
Application.ScreenUpdating = True
End Sub
и вроде вот оно решение осталось только применить сортировку и удалить лишние строки по колонке с ИНН, но беда в том (как я понял) что есть объединенные ячейки и сортировка не может быть выполнена. Файл результат описанного макроса прилагаю.
Application.ScreenUpdating = True
End Sub
и вроде вот оно решение осталось только применить сортировку и удалить лишние строки по колонке с ИНН, но беда в том (как я понял) что есть объединенные ячейки и сортировка не может быть выполнена. Файл результат описанного макроса прилагаю.
Заранее спасибо. Автор - Logist
Дата добавления - 07.08.2013 в 17:15
Помогите сделать два макроса в excel, которые будут копировать данные из множества файлов excel в один файл excel.
Я полный новичок в данной теме. Находил различные варианты в интернете, но отредактировать под себя не получается.
Все файлы excel, из которых будут копироваться данные, одинаковой структуры, а файл в который необходимо записать данные другой структуры. Все данные находятся на первом листе.
К примеру:
Первый макрос.
В каждом файле excel необходимые данные для копирования находятся в ячейке C3 и в диапазоне C6 : C13, а собрать все эти данные необходимо в единственном файле excel и расположить в нем нужно так ---> из первого файла C3->A5 (из следующего файла C3->A6 и т.д.), из первого файла диапазон C6 : C13 -> B5 : I5 (из следующего файла C6 : C13 -> B6 : I6 и т.д.) получается из столбца в строку. Данные каждого нового файла с новой строки.
Второй макрос точно такой же и с теми же файлами, но берется диапазон D6 : D13 вместо C6 : C13 и записывается так же, только это уже будет для другого файла.
По факту будут две папки с файлами excel в одной будет работать макрос по диапазону C6 : C13, в другой папке те же файлы только макрос там будет работать по диапазону D6 : D13
К этой теме прикрепил две папки с образцами файлов из которых будут копироваться данные и файлы в которые все будет собираться.
P.S Буду учиться делать макросы на этом примере и на других что найду.
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Импорт данных из нескольких файлов excel в один файл
Моя проблема состоит вот в чем. Есть, например, три файла в них расчет зарплаты около 200.
Вывод в один файл данных из нескольких Excel файлов
столкнулся со следующей проблемкой. в папке находится несколько однородных по структуре файлов.
Экспорт нескольких Excel файлов в один Excel файл
Здравствуйте! Помогите пожалуйста с реализацией макроса (осилил только загрузку с одного.
Перенос данных из нескольких файлов excel в один
Как из множества файлов Excel перенести значения в одну сводную таблицу в отдельном файле? Суть.
Если вам не трудно, можете написать работающий макрос?
Вот результат записи макроса:
Количество файлов и их название из которых информация копируется не известно.
Just67, ну этот макрос тоже должен работать, хотя его можно значительно упростить. Я могу, конечно, без проверки это сделать т.к. не хочется ещё и создавать ваши файлы с данными. Но можете прислать файлы, тогда с проверкой. Какой вариант вам больше подходит?
Добавлено через 42 минуты
Посмотрите, что получилось из вашего макроса
Не получилось запустить макрос выдал ошибку Run-time error '9': Subscript out of range
макрос останавливается на 7 строке "Set From = Workbooks("файл " & I & ".xlsx")".
И если файлов из которых данные будут копироваться больше двух, то ваш макрос будет копировать со всех файлов в один? Имена файлов так же не известно какие будут и в каком формате.
Скриншот в приложении
Добавлено через 6 минут
обращаться к файлам через него
Добавлено через 33 минуты
перед запуском макроса все три файла должны быть загружены в эксель
Доброго времени суток!
Это моя первая сложная работа с макросами. Части поставленной задачи не могу разобрать. Помогите, пожалуйста, записать код макроса на следующую таблицу. На листах 1 и 2 есть данные, которые постоянно пополняются. На листе 3 должна формироваться таблица с объединенными данными с этих двух листов по номеру заказа. ФИО могут отличаться на этих двух листах, тогда по ячейкам в обобщенной таблице факта и плана может быть "пусто".
Еще на листе 4 есть таблица данных, из которой также по данным номера заказа будет формироваться таблица на листе 5. Из всплывающего списка в ячейке А2 будет выбираться номер заказа, и по этому номеру будет заполняться таблица. К датам легко применима формула СУММАЕСЛИ, но! К заказчику и № договора ее применить нельзя. Может быть есть другая формула, которую можно применить, или же макросом записать такое действие?
Буду благодарна Вашей помощи.
Доброго времени суток!
Это моя первая сложная работа с макросами. Части поставленной задачи не могу разобрать. Помогите, пожалуйста, записать код макроса на следующую таблицу. На листах 1 и 2 есть данные, которые постоянно пополняются. На листе 3 должна формироваться таблица с объединенными данными с этих двух листов по номеру заказа. ФИО могут отличаться на этих двух листах, тогда по ячейкам в обобщенной таблице факта и плана может быть "пусто".
Еще на листе 4 есть таблица данных, из которой также по данным номера заказа будет формироваться таблица на листе 5. Из всплывающего списка в ячейке А2 будет выбираться номер заказа, и по этому номеру будет заполняться таблица. К датам легко применима формула СУММАЕСЛИ, но! К заказчику и № договора ее применить нельзя. Может быть есть другая формула, которую можно применить, или же макросом записать такое действие?
Буду благодарна Вашей помощи. Искра
Это моя первая сложная работа с макросами. Части поставленной задачи не могу разобрать. Помогите, пожалуйста, записать код макроса на следующую таблицу. На листах 1 и 2 есть данные, которые постоянно пополняются. На листе 3 должна формироваться таблица с объединенными данными с этих двух листов по номеру заказа. ФИО могут отличаться на этих двух листах, тогда по ячейкам в обобщенной таблице факта и плана может быть "пусто".
Еще на листе 4 есть таблица данных, из которой также по данным номера заказа будет формироваться таблица на листе 5. Из всплывающего списка в ячейке А2 будет выбираться номер заказа, и по этому номеру будет заполняться таблица. К датам легко применима формула СУММАЕСЛИ, но! К заказчику и № договора ее применить нельзя. Может быть есть другая формула, которую можно применить, или же макросом записать такое действие?
Буду благодарна Вашей помощи. Автор - Искра
Дата добавления - 13.11.2013 в 23:31
Намного проще обрабатывать данные в одном файле, чем переключаться между многочисленными книгами. Однако объединение нескольких книг Excel в один файл может быть сложным и долгим процессом, особенно если книги, которые вам нужно объединить, содержат много листов. Итак, как подойти к этой проблеме? Вы будете копировать их вручную или с помощью кода VBA? Или вы используете один из специализированных инструментов для объединения файлов Excel?
Ниже вы найдете несколько хороших способов, позволяющих реализовать объединение.
Примечание. В этой статье мы рассмотрим, как копировать листы из нескольких книг Excel в одну книгу. Если вы ищете быстрый способ скопировать данные с нескольких листов на один общий лист, вы найдете подробную инструкцию в другой статье: Как объединить несколько листов в один.
Простой метод — копировать листы руками.
Если вам нужно объединить всего пару файлов Excel, вы можете вручную скопировать или переместить листы из одного файла в другой. Вот как это можно сделать:
- Откройте книги, которые мы планируем объединить.
- Выберите листы в исходной книге, которые вы хотите скопировать в основную книгу.
Чтобы выбрать несколько листов, используйте один из следующих приемов:
- Чтобы выбрать соседние листы, щелкните вкладку первого, который вы хотите скопировать, нажмите и удерживайте клавишу Shift, а затем щелкните вкладку последнего. Это действие выберет все листы между ними.
- Чтобы выбрать несмежные, удерживайте клавишу Ctrl и щелкайте вкладку каждого из них по отдельности.
- Выделив все нужные листы, щелкните правой кнопкой мыши любую из выделенных вкладок и выберите «Переместить» или «Копировать…» .
- В диалоговом окне «Перемещение или копирование» выполните следующие действия:
- В раскрывающемся списке «Переместить выбранные листы в книгу» выберите целевую книгу, в которую вы хотите объединить другие файлы.
- Укажите, где именно должны быть вставлены вкладки. В нашем случае мы выбираем вариант вставки в конец списка.
- Установите флажок «Создать копию», если хотите, чтобы исходные данные оставались оригинальном файле.
- Нажмите ОК , чтобы завершить операцию.
Чтобы объединить вкладки из нескольких файлов Excel, повторите описанные выше шаги для каждой книги отдельно.
Замечание. При копировании листов вручную помните о следующем ограничении, налагаемом Excel: невозможно переместить или скопировать группу листов, если какой-либо из них содержит «умную» таблицу. В этом случае вам придется либо преобразовать таблицу в диапазон, либо использовать один из других методов, не имеющих этого ограничения.
Как объединить файлы Excel с VBA
Если у вас есть несколько файлов Excel, которые необходимо объединить в один файл, более быстрым способом будет автоматизировать процесс с помощью макроса VBA.
Ниже вы найдете код VBA, который копирует все листы из всех файлов Excel, которые вы выбираете, в одну книгу. Этот макрос MergeExcelFiles написан Алексом.
Важное замечание! Макрос работает со следующим ограничением — объединяемые файлы не должны быть открыты физически или находиться в памяти, в буфере обмена. В таком случае вы получите ошибку во время выполнения.
Как добавить этот макрос в книгу
Если вы хотите вставить макрос в свою книгу, выполните следующие обычные действия:
- нажимать 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 в один.
6 примеров — как консолидировать данные и объединить листы Excel в один - В статье рассматриваются различные способы объединения листов в Excel в зависимости от того, какой результат вы хотите получить: объединить все данные с выбранных листов,объединить несколько листов с различным порядком столбцов,объединить… Как работать с мастером формул даты и времени - Работа со значениями, связанными со временем, требует глубокого понимания того, как функции ДАТА, РАЗНДАТ и ВРЕМЯ работают в Excel. Эта надстройка позволяет быстро выполнять вычисления даты и времени и без особых… Как найти и выделить уникальные значения в столбце - В статье описаны наиболее эффективные способы поиска, фильтрации и выделения уникальных значений в Excel. Ранее мы рассмотрели различные способы подсчета уникальных значений в Excel. Но иногда вам может понадобиться только просмотреть уникальные… Как получить список уникальных значений - В статье описано, как получить список уникальных значений в столбце с помощью формулы и как настроить эту формулу для различных наборов данных. Вы также узнаете, как быстро получить отдельный список с… Как объединить две или несколько таблиц в Excel - В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах. Как часто при анализе в Excel вся необходимая информация собирается на одном… Как объединить строки в Excel без потери данных? Примеры и советы. - Объединение строк в Excel - одна из самых распространенных задач, которые нам нужно выполнять время от времени. Проблема в том, что Microsoft Excel не предоставляет для этого надежного инструмента. Кроме… Как правильно объединить столбцы в Excel без потери данных. - Объединение данных в Excel — это достаточно распространённая задача. Объединяют столбцы, строки, отдельные ячейки и даже целые таблицы. Из этой статьи вы узнаете, как объединить несколько столбцов Excel и не… Как сцепить ячейки в Excel при помощи различных функций и операторов - В этом руководстве вы узнаете о различных способах соединения текстовых строк, ячеек, диапазонов, столбцов и строк в Excel с использованием функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ и оператора «&». В таблицах данные…Читайте также: