|
|
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Добрый день! Стоит задача автоматизировать консолидацию отчетов в exel. Имеются файлы отчетов (около 10) в xlsx, в каждом по 6 листов. Необходимо объединить все файлы в один и на выходе получить один документ с 6 листами. Все столбцы совпадают в каждом отчете, но первая строка должна скопироваться только из первого файла. Реально ли это? За помощь готов отблагодарить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 12:38 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
pchelav, Не просто реально, а именно то что нужно. Я сам начал VBA увекаться когда столкнулся с подобной задачей. Уже через 2 недели изысканий на форуме у меня итоговый файл (сбор из 60 исходных файлов - предприятия холдинга) собирался за 3 минуты. Еще через пол года пребывания на данном форуме я все переделал и файл собирался 20 секунд :) Примеров на форуме достаточно много, и их будет достаточно чтобы начать самому себе что-то сделать. Участники будут помогать по конкретным вопросам. Если речь о том чтобы сделать все за Вас за деньги - то это отдельный разговор, за который могут взяться отдельные люди. По этой ссылке примеров просто тьма н авсякий случай для листов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 13:58 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Deggasad, это хорошо! С Вами можно решить данный вопрос?! самостоятельно изучить нет времени... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:47 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Давайте вы попробуете описать задачу более подробно приложить тестовый пример 3 исходных файла и 1 итоговый сделанный руками (желательно с сохранением относительной структуры папок): как появляются файлы? есть ли какой-то принцип в названиях файлов, они известны заранее? Как хранятся в одной папке с итоговым? В одной папке хранятся только файлы которые выбираем или и другие? в листах простой принцип консолидации со всех листов с такими же названиями или каое то условие есть? или листы по разному называются. и т.д. постарайте подробнее и понятнее описать с конкретными примерами в файлах и ссылками к файлу по тексту. Если вдруг окажется что ваш случай достаточно легкий - то я помогу в порядке тренировки, а может кто-то даже быстрее. Если нюансов окажется много и случай не такой простой как вы написали в первом посте, то будете искать себе исполнителя - пример в любом случае пригодится. Если согласны на такой уговор - то покажите нам свою заинтересовнность и желание ввести нас в курс дела и Вам это вернется с лихвой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:29 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Deggasad, большое спасибо, постараюсь изложить максимально раскрыто. Итак, файлы присылаю по почте, каждый имеет свое название - 08.10-10.10 Остатки (Название_Города).xlsx , они постоянные, меняется лишь дата. Сохраняются во временной папке, допустим E:\ERC, там собираются в один, который в итоге отправляется опять таки по почте. Больше в этой папке ничего нет. Листы и их названия во всех файлах совпадают, количество и название столбцов в соответствующих листах также совпадают. Как делалось раньше: Берется один файл за исходный, далее простым выделением и копи-пастом переносятся все заполненные строки начиная со второй, в конец соответствующего листа. Выставляю сортировку фильтром по городу Исправляю появившиеся ошибки в условном форматировании Из нюансов: Первая строка является фильтром Каждую неделю добавляется столбец с новой Week В столбцах с Week используется условное форматирование, с которым мне уже помогали :) Цена сравнивается с предыдущей неделей (=RC12<>RC13). В итоге должны получить файл 08.10-10.10 Отчет по представленности.xlsx , со всеми городами и по возможности рабочим форматированием... С файлами не разобрался как прикреплять, вот предлагаю их в архиве . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:06 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Блин. Забыл сказать, что у меня нет 2003 Excel. Выложите пример в 2003 формате все файлы. Чтобы приложить файл (архив) есть ниже окна с сообщением кнопка обзор . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:15 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
DeggasadБлин. Забыл сказать, что у меня нет 2007 Excel. Выложите пример в 2003 формате все файлы. Чтобы приложить файл (архив) есть ниже окна с сообщением кнопка обзор . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:16 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Deggasad, готово. У меня там ограничение в 150 кб :( Вот архив в 2003 Правда там какие-то проблемы не совместимости вылезли, но вроде все работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:35 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Вот, попробуйте... Положите файлик в любой каталог, создайте там же подкаталоги IN и OUT. Далее - по инструкции в файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 05:38 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Я же говорил, что Вам помогут, как только вы покажите заинтересованность и приложите пример с описанием :). Смотрите пример, пишите что так? что нетак? Мое участие уже не требуется как я понимаю, разве что сделать попроще :), если вы вдруг решите разобраться в коде самостоятельно :) З.ы.: Благодарность автору остается на ваше усмотрение, но об этом разговаривают уже в личке (если нажать на имя участника можно посмотреть его электронку и аську). Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 12:22 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
AndreTM, спасибо за оперативность! Но у меня ошибка вылетает при нажатии куда-либо, а пункт "Загрузить шаблоны дат - Load templates" не имеет значений и вписать не могу. Или я туплю?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 18:14 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
Проверяете на 2007? - поскольку я это дело тоже писАл на 2003 Офисе. Ошибка - жмите Debug и покажите кусок кода, где встанет отладчик. Попробую ближе к ночи проверить на 2007 Офисе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 19:14 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
AndreTM, на 2010... встает на первую стоку этого кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 19:19 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
pchelav, нашла по ссылке в интернет В Excel2007 метод .FileSearch хоть и есть в справке, но отключен. Работает Dir, но лучше использовать FileSystemObject с поздним связыванием: Код: plaintext 1. 2. Кроме того в Вашем коде: 1. AppPath нужно заменить на ThisWorkbook.Path т.к. VBA 2. iFile возвращает путь и имя файла, поэтому условие в цикле не сработает. Чтобы получить только имя используйте в условии iFile.Name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 19:54 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА, спасибо, посмотрел код, так сразу практически ничего не понимаю. Надеюсь на помощь опытных товарищей! И еще такой нюанс, все файлы присылают в xlsx и отправлять надо в нем же... это не проблема?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 20:55 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
В-общем, посмотрел... Пришлось переделать Application.FileSearch на DIR() В приложенном архиве - исправленный вариант, для обоих Офисов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 21:13 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
pchelavПЕНСИОНЕРКА, спасибо, посмотрел код, так сразу практически ничего не понимаю. Надеюсь на помощь опытных товарищей! И еще такой нюанс, все файлы присылают в xlsx и отправлять надо в нем же... это не проблема?! я бы не стала отправлять в xlsx-это е2007, а он все-же не у всех получать можно и так и так, а отправлять лучше а е2003(xls) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 21:16 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 21:48 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
AndreTM, Вы лучший! Просто замечательно все работает, то что "доктор прописал") Маленький вопрос и я побежал в личку... Каждый раз после консолидации в правилах по условному форматированию полный кавардак, можно ли дописать так, чтобы оно сперва очищало все правила с листа, а потом к нужным столбцам дописывало по одному правилу?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 22:48 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
pchelavКаждый раз после консолидации в правилах по условному форматированию полный кавардак, можно ли дописать так, чтобы оно сперва очищало все правила с листа, а потом к нужным столбцам дописывало по одному правилу?! Ничего себе, "маленький вопрос"... :) Это, опять же, проблема Офиса 2007, поскольку в нем теперь допустимо использовать диапазоны применения правила - вот при копировании условное форматирование и начинает применяться, куда захочет. Конечно, можно сделать все: сбросить правила, создать их заново - вот только это потребует уже анализа листа на предмет зоны применения формата (по Week)... хотя можно ведь и формат первой строки данных скопировать... или можно конвертировать файлы в формат XLS, сделать сборку, а потом сохранить как XLSX. Еще вопрос - у вас все исходные данные в формате 2007 Офиса? А иначе надо бы еще и отслеживать версию офиса, сохранять отчет в нужном формате... В-общем, смотрите приложение, ищите ошибки: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2010, 02:52 |
|
||
|
Объединение нескольких Exel-документов
|
|||
|---|---|---|---|
|
#18+
AndreTM Ничего себе, "маленький вопрос"... :) Ну я это :) авторЭто, опять же, проблема Офиса 2007, поскольку в нем теперь допустимо использовать диапазоны применения правила - вот при копировании условное форматирование и начинает применяться, куда захочет. Нет, это проблема не вашего скрипта, а из-за постоянного расчленения и сведения этого отчета, плюс многие составляющие его портачат авторКонечно, можно сделать все: сбросить правила, создать их заново - вот только это потребует уже анализа листа на предмет зоны применения формата (по Week)... хотя можно ведь и формат первой строки данных скопировать... или можно конвертировать файлы в формат XLS, сделать сборку, а потом сохранить как XLSX. Еще вопрос - у вас все исходные данные в формате 2007 Офиса? А иначе надо бы еще и отслеживать версию офиса, сохранять отчет в нужном формате... В-общем, смотрите приложение, ищите ошибки: Посмотрел, нет слов - все четко! Большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2010, 10:03 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=148&tid=2177567]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 348ms |

| 0 / 0 |
