powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объединение нескольких Exel-документов
22 сообщений из 22, страница 1 из 1
Объединение нескольких Exel-документов
    #36901172
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Стоит задача автоматизировать консолидацию отчетов в exel.

Имеются файлы отчетов (около 10) в xlsx, в каждом по 6 листов. Необходимо объединить все файлы в один и на выходе получить один документ с 6 листами.

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

Реально ли это? За помощь готов отблагодарить...
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36901444
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pchelav,

Не просто реально, а именно то что нужно.
Я сам начал VBA увекаться когда столкнулся с подобной задачей. Уже через 2 недели изысканий на форуме у меня итоговый файл (сбор из 60 исходных файлов - предприятия холдинга) собирался за 3 минуты. Еще через пол года пребывания на данном форуме я все переделал и файл собирался 20 секунд :)

Примеров на форуме достаточно много, и их будет достаточно чтобы начать самому себе что-то сделать. Участники будут помогать по конкретным вопросам. Если речь о том чтобы сделать все за Вас за деньги - то это отдельный разговор, за который могут взяться отдельные люди.

По этой ссылке примеров просто тьма
н авсякий случай для листов
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36901594
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad,

это хорошо! С Вами можно решить данный вопрос?! самостоятельно изучить нет времени...
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36901930
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте вы попробуете описать задачу более подробно приложить тестовый пример 3 исходных файла и 1 итоговый сделанный руками (желательно с сохранением относительной структуры папок):
как появляются файлы?
есть ли какой-то принцип в названиях файлов, они известны заранее?
Как хранятся в одной папке с итоговым?
В одной папке хранятся только файлы которые выбираем или и другие?
в листах простой принцип консолидации со всех листов с такими же названиями или каое то условие есть? или листы по разному называются.
и т.д.
постарайте подробнее и понятнее описать с конкретными примерами в файлах и ссылками к файлу по тексту.

Если вдруг окажется что ваш случай достаточно легкий - то я помогу в порядке тренировки, а может кто-то даже быстрее.
Если нюансов окажется много и случай не такой простой как вы написали в первом посте, то будете искать себе исполнителя - пример в любом случае пригодится.

Если согласны на такой уговор - то покажите нам свою заинтересовнность и желание ввести нас в курс дела и Вам это вернется с лихвой.
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902610
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad, большое спасибо, постараюсь изложить максимально раскрыто.

Итак, файлы присылаю по почте, каждый имеет свое название - 08.10-10.10 Остатки (Название_Города).xlsx , они постоянные, меняется лишь дата.
Сохраняются во временной папке, допустим E:\ERC, там собираются в один, который в итоге отправляется опять таки по почте. Больше в этой папке ничего нет.
Листы и их названия во всех файлах совпадают, количество и название столбцов в соответствующих листах также совпадают.

Как делалось раньше:
Берется один файл за исходный, далее простым выделением и копи-пастом переносятся все заполненные строки начиная со второй, в конец соответствующего листа.
Выставляю сортировку фильтром по городу
Исправляю появившиеся ошибки в условном форматировании

Из нюансов:
Первая строка является фильтром
Каждую неделю добавляется столбец с новой Week
В столбцах с Week используется условное форматирование, с которым мне уже помогали :) Цена сравнивается с предыдущей неделей (=RC12<>RC13).

В итоге должны получить файл 08.10-10.10 Отчет по представленности.xlsx , со всеми городами и по возможности рабочим форматированием...

С файлами не разобрался как прикреплять, вот предлагаю их в архиве .
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902624
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин. Забыл сказать, что у меня нет 2003 Excel. Выложите пример в 2003 формате все файлы.
Чтобы приложить файл (архив) есть ниже окна с сообщением кнопка обзор .
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902627
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadБлин. Забыл сказать, что у меня нет 2007 Excel. Выложите пример в 2003 формате все файлы.
Чтобы приложить файл (архив) есть ниже окна с сообщением кнопка обзор .
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902644
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad,

готово. У меня там ограничение в 150 кб :( Вот архив в 2003

Правда там какие-то проблемы не совместимости вылезли, но вроде все работает...
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902787
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, попробуйте...
Положите файлик в любой каталог, создайте там же подкаталоги IN и OUT.
Далее - по инструкции в файле.
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36902894
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же говорил, что Вам помогут, как только вы покажите заинтересованность и приложите пример с описанием :).
Смотрите пример, пишите что так? что нетак?
Мое участие уже не требуется как я понимаю, разве что сделать попроще :), если вы вдруг решите разобраться в коде самостоятельно :)
З.ы.: Благодарность автору остается на ваше усмотрение, но об этом разговаривают уже в личке (если нажать на имя участника можно посмотреть его электронку и аську). Удачи.
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903130
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

спасибо за оперативность! Но у меня ошибка вылетает при нажатии куда-либо, а пункт "Загрузить шаблоны дат - Load templates" не имеет значений и вписать не могу. Или я туплю?!

...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903170
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверяете на 2007? - поскольку я это дело тоже писАл на 2003 Офисе.
Ошибка - жмите Debug и покажите кусок кода, где встанет отладчик.
Попробую ближе к ночи проверить на 2007 Офисе...
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903172
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

на 2010... встает на первую стоку этого кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
With Application.FileSearch
    .LookIn = Wb.Path & cDir
    .Filename = cTemplate
    If .Execute() >  0  Then
        ReDim aDir(.FoundFiles.Count)
        For i =  1  To .FoundFiles.Count
            aDir(i) = GetFileName(.FoundFiles(i))
        Next i
    Else
        MsgBox "Нет файлов."
    End If
End With
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903198
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pchelav,

нашла по ссылке в интернет

В Excel2007 метод .FileSearch хоть и есть в справке, но отключен.

Работает Dir, но лучше использовать FileSystemObject с поздним связыванием:
Код: plaintext
1.
2.
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
или с ранним связывание, как у Вас в коде, только нужно из VBE-Tools-References установить ссылку на Microsoft Scripting Runtime (файл scrrun.dll)

Кроме того в Вашем коде:
1. AppPath нужно заменить на ThisWorkbook.Path т.к. VBA
2. iFile возвращает путь и имя файла, поэтому условие в цикле не сработает.
Чтобы получить только имя используйте в условии iFile.Name
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903239
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

спасибо, посмотрел код, так сразу практически ничего не понимаю. Надеюсь на помощь опытных товарищей!

И еще такой нюанс, все файлы присылают в xlsx и отправлять надо в нем же... это не проблема?!
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903253
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В-общем, посмотрел... Пришлось переделать Application.FileSearch на DIR()
В приложенном архиве - исправленный вариант, для обоих Офисов
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903257
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pchelavПЕНСИОНЕРКА,

спасибо, посмотрел код, так сразу практически ничего не понимаю. Надеюсь на помощь опытных товарищей!

И еще такой нюанс, все файлы присылают в xlsx и отправлять надо в нем же... это не проблема?!

я бы не стала отправлять в xlsx-это е2007, а он все-же не у всех

получать можно и так и так, а отправлять лучше а е2003(xls)
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903283
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pchelav,

ПоставщикРитэйлерАдресНазваниеКод продуктаТип устройстваWeek40Week39Week38МонбланКомфиДнепр., бул. BROTHER DCP-DCP7032МФУ1799,001799,001799,00КомфиДнепр., бул. BROTHER HL-HL2035Принтер1019,001019,001019,00МонбланКомфиДнепр., бул. BROTHER MFC-MFC7320МФУ с факсом2299,002299,002299,00КомфиДнепр., бул. CANON i-2611B001Принтер1189,001189,001189,00МонбланКомфиДнепр., бул. CANON Pixma 2435B009Принтер669,00659,00659,00

массив не очень понравился, так как нельзя сделать
-итоги по поставщику
-итоги за месяц, квартал,год без тысячи формул(причем на разных листах недели на разных позициях и нет уверенности что весь перечень недель есть на всех листах
-итоги н1,н2,н3,н4,за месяц,...........

чтобы реализовать эти функции массив должен быть по крайней мере в форме с именем файла в первом столбце(для выяснения вопросов) ,но и с пустым плательщиком надо решать
номер порцииПоставщикРитэйлерАдресНазваниеКод продуктаТип устройстваWeekсумма10-01-20МонбланКомфиДнепр., бул. BROTHER DCP-DCP7032МФУWeek39198010-01-20МонбланКомфиДнепр., бул. BROTHER DCP-DCP7032МФУWeek3923510-01-20МонбланКомфиДнепр., бул. BROTHER DCP-DCP7032МФУWeek4035610-01-20КомфиДнепр., бул. BROTHER DCP-DCP70332МФУWeek39198010-01-20КомфиДнепр., бул. BROTHER DCP-DCP70332МФУWeek3923510-01-20КомфиДнепр., бул. BROTHER DCP-DCP70332МФУWeek4035610-01-20МонбланКомфиДнепр., бул. BROTHER DCP-DCP70342МФУWeek39198010-01-20МонбланКомфиДнепр., бул. BROTHER DCP-DCP70342МФУWeek39235
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903322
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

Вы лучший! Просто замечательно все работает, то что "доктор прописал") Маленький вопрос и я побежал в личку...

Каждый раз после консолидации в правилах по условному форматированию полный кавардак, можно ли дописать так, чтобы оно сперва очищало все правила с листа, а потом к нужным столбцам дописывало по одному правилу?!
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903482
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pchelavКаждый раз после консолидации в правилах по условному форматированию полный кавардак, можно ли дописать так, чтобы оно сперва очищало все правила с листа, а потом к нужным столбцам дописывало по одному правилу?!
Ничего себе, "маленький вопрос"... :)
Это, опять же, проблема Офиса 2007, поскольку в нем теперь допустимо использовать диапазоны применения правила - вот при копировании условное форматирование и начинает применяться, куда захочет.
Конечно, можно сделать все: сбросить правила, создать их заново - вот только это потребует уже анализа листа на предмет зоны применения формата (по Week)... хотя можно ведь и формат первой строки данных скопировать... или можно конвертировать файлы в формат XLS, сделать сборку, а потом сохранить как XLSX.
Еще вопрос - у вас все исходные данные в формате 2007 Офиса? А иначе надо бы еще и отслеживать версию офиса, сохранять отчет в нужном формате...

В-общем, смотрите приложение, ищите ошибки:
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903546
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM
Ничего себе, "маленький вопрос"... :)
Ну я это :)
авторЭто, опять же, проблема Офиса 2007, поскольку в нем теперь допустимо использовать диапазоны применения правила - вот при копировании условное форматирование и начинает применяться, куда захочет.
Нет, это проблема не вашего скрипта, а из-за постоянного расчленения и сведения этого отчета, плюс многие составляющие его портачат
авторКонечно, можно сделать все: сбросить правила, создать их заново - вот только это потребует уже анализа листа на предмет зоны применения формата (по Week)... хотя можно ведь и формат первой строки данных скопировать... или можно конвертировать файлы в формат XLS, сделать сборку, а потом сохранить как XLSX.
Еще вопрос - у вас все исходные данные в формате 2007 Офиса? А иначе надо бы еще и отслеживать версию офиса, сохранять отчет в нужном формате...

В-общем, смотрите приложение, ищите ошибки:
Посмотрел, нет слов - все четко! Большое спасибо!!!
...
Рейтинг: 0 / 0
Объединение нескольких Exel-документов
    #36903548
pchelav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем кто отозвался, Вы мне сказачно помогли! Постараюсь найти время и разобраться что к чему, думаю еще помучаю Вас! Спасибо!
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объединение нескольких Exel-документов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]