Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Объединение нескольких файлов XLS в автоматическом режиме - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение нескольких файлов XLS в автоматическом режиме (Формулы)
Объединение нескольких файлов XLS в автоматическом режиме
Falcar Дата: Четверг, 31.10.2013, 07:23 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Возникла необходимость объединить 4 файла формата XLS, в каждом из которых по 4 листа с данными, в один, так, чтобы в новый файл вставлялись те-же самые листы, т.е. с таким же названием как в исходных файлах, и объединенные данные со всех 4 файлов. (названия листов и заголовки всех полей одинаковы). Объединять мне необходимо их раз в час/два, так как эти 4 файла обновляются очень часто, поэтому хотелось бы осуществлять это в автоматическом режиме. Подскажите, пожалуйста, как это осуществить. Пример исходных данных и то, что хочу получить, прилагаю ниже.
С Уважением, falcar.
К сообщению приложен файл: 1063140.rar (53.2 Kb)


Сообщение отредактировал Falcar - Четверг, 31.10.2013, 07:24
 
Ответить
СообщениеЗдравствуйте. Возникла необходимость объединить 4 файла формата XLS, в каждом из которых по 4 листа с данными, в один, так, чтобы в новый файл вставлялись те-же самые листы, т.е. с таким же названием как в исходных файлах, и объединенные данные со всех 4 файлов. (названия листов и заголовки всех полей одинаковы). Объединять мне необходимо их раз в час/два, так как эти 4 файла обновляются очень часто, поэтому хотелось бы осуществлять это в автоматическом режиме. Подскажите, пожалуйста, как это осуществить. Пример исходных данных и то, что хочу получить, прилагаю ниже.
С Уважением, falcar.

Автор - Falcar
Дата добавления - 31.10.2013 в 07:23
AndreTM Дата: Четверг, 31.10.2013, 08:24 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Можно, конечно, и формулами. Но муторно и затратно по ресурсам. Макросы никак?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеМожно, конечно, и формулами. Но муторно и затратно по ресурсам. Макросы никак?

Автор - AndreTM
Дата добавления - 31.10.2013 в 08:24
Falcar Дата: Четверг, 31.10.2013, 10:26 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Можно, конечно, и формулами. Но муторно и затратно по ресурсам. Макросы никак?

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


Сообщение отредактировал Falcar - Четверг, 31.10.2013, 10:27
 
Ответить
Сообщение
Можно, конечно, и формулами. Но муторно и затратно по ресурсам. Макросы никак?

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

Автор - Falcar
Дата добавления - 31.10.2013 в 10:26
китин Дата: Четверг, 31.10.2013, 10:34 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
вот что дал поиск по сайту:БЫМС


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениевот что дал поиск по сайту:БЫМС

Автор - китин
Дата добавления - 31.10.2013 в 10:34
AndreTM Дата: Четверг, 31.10.2013, 13:05 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Не, ну можно просто собрать данные. Смотрите пример. Там, конечно, многие условия не проверяются (например, наличие файлов или лишние листы), но результат примерно подходит.

С другой стороны, можно сделать то же самое быстрее и проще через ADO... но это я оставлю как вариант для "Готовых решений" по теме "Консолидация данных из внешних источников" :D
К сообщению приложен файл: 0985377.xls (37.5 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНе, ну можно просто собрать данные. Смотрите пример. Там, конечно, многие условия не проверяются (например, наличие файлов или лишние листы), но результат примерно подходит.

С другой стороны, можно сделать то же самое быстрее и проще через ADO... но это я оставлю как вариант для "Готовых решений" по теме "Консолидация данных из внешних источников" :D

Автор - AndreTM
Дата добавления - 31.10.2013 в 13:05
Григорополисец Дата: Четверг, 31.10.2013, 14:01 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте, уважаемые господа!
У меня такой вопрос: работал в 2010-м пакете, тут что-то подбился перейти на 2013-ый продукт. Естественно, всё переустановилось с сохранением всех надстроек и специальных кнопок, выведенных на экспресс-панель, которыми я часто пользуюсь. Но так как я часто работаю с двумя и более открытыми файлами, то, в связи с этим, есть одна неурядица: я никак не могу заставить Excel 2013 отображать два файла внутри одного окна, чтобы при открытии двух файлов меню было на всех общее, а не сминалось над каждым файлом. В 2010 где-то была такая галочка, которая меняла такие параметры, но видел я её в последний раз аж 2011 году и сейчас ни найти, ни вспомнить не могу! Пожалуйста, помогите: где эта галочка?

Спасибо Вам большое!!!
[moder]Ну вот скажите мне пожалуйста - при чем тут тема, к которой Вы примазались своим вопросом?
Вам, похоже, нужно ЕЩЕ раз перечитать правила форума. А потом создать свою тему.


У всего есть своя логика!
 
Ответить
СообщениеЗдравствуйте, уважаемые господа!
У меня такой вопрос: работал в 2010-м пакете, тут что-то подбился перейти на 2013-ый продукт. Естественно, всё переустановилось с сохранением всех надстроек и специальных кнопок, выведенных на экспресс-панель, которыми я часто пользуюсь. Но так как я часто работаю с двумя и более открытыми файлами, то, в связи с этим, есть одна неурядица: я никак не могу заставить Excel 2013 отображать два файла внутри одного окна, чтобы при открытии двух файлов меню было на всех общее, а не сминалось над каждым файлом. В 2010 где-то была такая галочка, которая меняла такие параметры, но видел я её в последний раз аж 2011 году и сейчас ни найти, ни вспомнить не могу! Пожалуйста, помогите: где эта галочка?

Спасибо Вам большое!!!
[moder]Ну вот скажите мне пожалуйста - при чем тут тема, к которой Вы примазались своим вопросом?
Вам, похоже, нужно ЕЩЕ раз перечитать правила форума. А потом создать свою тему.

Автор - Григорополисец
Дата добавления - 31.10.2013 в 14:01
Григорополисец Дата: Четверг, 31.10.2013, 14:05 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте, уважаемые господа!
У меня такой вопрос: работал в 2010-м пакете, тут что-то подбился перейти на 2013-ый продукт. Естественно, всё переустановилось с сохранением всех надстроек и специальных кнопок, выведенных на экспресс-панель, которыми я часто пользуюсь. Но так как я часто работаю с двумя и более открытыми файлами, то, в связи с этим, есть одна неурядица: я никак не могу заставить Excel 2013 отображать два файла внутри одного окна, чтобы при открытии двух файлов меню было на всех общее, а не сминалось над каждым файлом. В 2010 где-то была такая галочка, которая меняла такие параметры, но видел я её в последний раз аж 2011 году и сейчас ни найти, ни вспомнить не могу! Пожалуйста, помогите: где эта галочка?

Спасибо Вам большое!!!
[moder]Еще одно нарушение - бан на сутки.


У всего есть своя логика!
 
Ответить
СообщениеЗдравствуйте, уважаемые господа!
У меня такой вопрос: работал в 2010-м пакете, тут что-то подбился перейти на 2013-ый продукт. Естественно, всё переустановилось с сохранением всех надстроек и специальных кнопок, выведенных на экспресс-панель, которыми я часто пользуюсь. Но так как я часто работаю с двумя и более открытыми файлами, то, в связи с этим, есть одна неурядица: я никак не могу заставить Excel 2013 отображать два файла внутри одного окна, чтобы при открытии двух файлов меню было на всех общее, а не сминалось над каждым файлом. В 2010 где-то была такая галочка, которая меняла такие параметры, но видел я её в последний раз аж 2011 году и сейчас ни найти, ни вспомнить не могу! Пожалуйста, помогите: где эта галочка?

Спасибо Вам большое!!!
[moder]Еще одно нарушение - бан на сутки.

Автор - Григорополисец
Дата добавления - 31.10.2013 в 14:05
Falcar Дата: Четверг, 31.10.2013, 15:09 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не, ну можно просто собрать данные. Смотрите пример. Там, конечно, многие условия не проверяются (например, наличие файлов или лишние листы), но результат примерно подходит.

Спасибо за то что откликнулись на мою просьбу. Как раз то что мне надо. 3 моих файла обьединяются нормально, но при обьединении 4-го пишет ошибку:
Set rDest = rDest.Offset(rDest.Rows.Count).Cells(1, 1)
В 4-ом файле, в 3-ьем листе содержится около 35000 записей (строчек), если я удаляю около 5-ти тысяч записей и оставляю 30000 то все работает нормально, а например при 31000 записей снова появляется ошибка. Не могли бы Вы подсказать с чем это связано?
 
Ответить
Сообщение
Не, ну можно просто собрать данные. Смотрите пример. Там, конечно, многие условия не проверяются (например, наличие файлов или лишние листы), но результат примерно подходит.

Спасибо за то что откликнулись на мою просьбу. Как раз то что мне надо. 3 моих файла обьединяются нормально, но при обьединении 4-го пишет ошибку:
Set rDest = rDest.Offset(rDest.Rows.Count).Cells(1, 1)
В 4-ом файле, в 3-ьем листе содержится около 35000 записей (строчек), если я удаляю около 5-ти тысяч записей и оставляю 30000 то все работает нормально, а например при 31000 записей снова появляется ошибка. Не могли бы Вы подсказать с чем это связано?

Автор - Falcar
Дата добавления - 31.10.2013 в 15:09
AndreTM Дата: Четверг, 31.10.2013, 15:40 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Наверное, с тем, что не надо работать в режиме совместимости :) - у 2003-го ограничение на 64к строк на один лист.
Вам надо мой исходный файл-обработку пересохранить в формате Excel 2010 (xlsm/xlsb), а затем уже запускать.


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНаверное, с тем, что не надо работать в режиме совместимости :) - у 2003-го ограничение на 64к строк на один лист.
Вам надо мой исходный файл-обработку пересохранить в формате Excel 2010 (xlsm/xlsb), а затем уже запускать.

Автор - AndreTM
Дата добавления - 31.10.2013 в 15:40
Григорополисец Дата: Четверг, 31.10.2013, 16:22 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Извините, не знаю, как отправилось второе сообщение, тем более с разницей в 4 минуты. И банить новичков не справедливо - пока тут у вас разберёшься...
[moder]Лавый верхний угол - кнопка Правил форума.
Жмете.
Читаете.
Действуете в соответствии.


У всего есть своя логика!
 
Ответить
СообщениеИзвините, не знаю, как отправилось второе сообщение, тем более с разницей в 4 минуты. И банить новичков не справедливо - пока тут у вас разберёшься...
[moder]Лавый верхний угол - кнопка Правил форума.
Жмете.
Читаете.
Действуете в соответствии.

Автор - Григорополисец
Дата добавления - 31.10.2013 в 16:22
Falcar Дата: Пятница, 01.11.2013, 08:32 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Наверное, с тем, что не надо работать в режиме совместимости - у 2003-го ограничение на 64к строк на один лист.
Вам надо мой исходный файл-обработку пересохранить в формате Excel 2010 (xlsm/xlsb), а затем уже запускать.

Премного благодарен, все получилось. Единственное что теперь придется перед каждым объединением все исходные данные пересохранять в XLSX, а затем только запускать Ваш файл, но это делать намного быстрее чем я делал раньше.
 
Ответить
Сообщение
Наверное, с тем, что не надо работать в режиме совместимости - у 2003-го ограничение на 64к строк на один лист.
Вам надо мой исходный файл-обработку пересохранить в формате Excel 2010 (xlsm/xlsb), а затем уже запускать.

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

Автор - Falcar
Дата добавления - 01.11.2013 в 08:32
AndreTM Дата: Пятница, 01.11.2013, 16:58 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
придется перед каждым объединением все исходные данные пересохранять в XLSX
Зачем? Пересохранить надо было только мой файл (чтобы он открывался 2010-ым) и указать для конечного файла сохранение в формате 2010 (разберётесь в коде? или можно сохранять как XLSX только первый из объединяемых файлов - именно на его основе создаётся результирующий файл). И всё, остальные исходные данные могут быть хоть в формате Excel97...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
придется перед каждым объединением все исходные данные пересохранять в XLSX
Зачем? Пересохранить надо было только мой файл (чтобы он открывался 2010-ым) и указать для конечного файла сохранение в формате 2010 (разберётесь в коде? или можно сохранять как XLSX только первый из объединяемых файлов - именно на его основе создаётся результирующий файл). И всё, остальные исходные данные могут быть хоть в формате Excel97...

Автор - AndreTM
Дата добавления - 01.11.2013 в 16:58
Falcar Дата: Суббота, 02.11.2013, 06:03 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Зачем? Пересохранить надо было только мой файл (чтобы он открывался 2010-ым) и указать для конечного файла сохранение в формате 2010 (разберётесь в коде? или можно сохранять как XLSX только первый из объединяемых файлов - именно на его основе создаётся результирующий файл). И всё, остальные исходные данные могут быть хоть в формате Excel97...

Если делать как Вы говорите, программа ругается на строчку:
Set rSour = Range(wb2.Sheets(c.Value).Cells(nShiftRow + 1, nShiftCol + 1), rSour.Offset(rSour.Rows.Count - 1, rSour.Columns.Count - 1).Cells(1, 1))
А если все исходники в XLSX то все работает нормально.
 
Ответить
Сообщение
Зачем? Пересохранить надо было только мой файл (чтобы он открывался 2010-ым) и указать для конечного файла сохранение в формате 2010 (разберётесь в коде? или можно сохранять как XLSX только первый из объединяемых файлов - именно на его основе создаётся результирующий файл). И всё, остальные исходные данные могут быть хоть в формате Excel97...

Если делать как Вы говорите, программа ругается на строчку:
Set rSour = Range(wb2.Sheets(c.Value).Cells(nShiftRow + 1, nShiftCol + 1), rSour.Offset(rSour.Rows.Count - 1, rSour.Columns.Count - 1).Cells(1, 1))
А если все исходники в XLSX то все работает нормально.

Автор - Falcar
Дата добавления - 02.11.2013 в 06:03
emkub Дата: Четверг, 15.09.2016, 09:40 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А у меня что-то не хочет работать...
"Subscript out of range"
на строке: Set rDest = wb1.Sheets(c.Value).UsedRange

Кто-нибудь увидит это сообщение в столь древней ветке?
 
Ответить
СообщениеА у меня что-то не хочет работать...
"Subscript out of range"
на строке: Set rDest = wb1.Sheets(c.Value).UsedRange

Кто-нибудь увидит это сообщение в столь древней ветке?

Автор - emkub
Дата добавления - 15.09.2016 в 09:40
Manyasha Дата: Четверг, 15.09.2016, 10:48 | Сообщение № 15
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
emkub, создайте свою тему с примером и макросом, который используете.
Эта тема закрыта.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеemkub, создайте свою тему с примером и макросом, который используете.
Эта тема закрыта.

Автор - Manyasha
Дата добавления - 15.09.2016 в 10:48
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение нескольких файлов XLS в автоматическом режиме (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!