Макрос, собирающий информацию из большого количества файлов

Автор B2R, 21.08.2012, 17:43

« назад - далее »

B2R

Приветствую всех!
Передо мной встала не самая тривиальная задача, поэтому решил обратиться к вашей помощи.
Переходя к сути - нужно создать макрос, который бы собирал в одном файле (далее - "итоговый файл"), информацию из большого количества (ориентировочно 82) файлов, имеющих абсолютно одинаковую структуру (далее - "файлов-источников").
Немного подробнее о том, как это должно происходить:

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

2. Ячейки в строке, соответствующие столбцам D - W в итоговом файле должны заполнятся значениями ячеек файла-источника на листе 1, которые определяются следующим образом: всегда берется столбец S, а строка определяется по 23-х значному коду, который одинаков для этих двух файлов (это код, написанный в итоговом файле в нужном столбце + второй строке и должен совпадать с объединением столбцов B-D искомой строчки в файле-источнике)
3. Для столбцов Y - AI всё аналогично, только вместо листа 1 требуется искать листе 2 файла-источника, причем 23-х значный код в файле-источнике находится в 6 столбцах B-G.
4. Для ячеек, соответствующих столбцам C и X подобный подход не подойдет, т.к. у них нет 23х значного кода, поэтому их нужно искать иным образом (учитывая что таких всего 2, можно просто по номеру строки файла-источника).
 
Таким образом, макрос должен полностью заполнять данную таблицу в итоговом файле.
К данному сообщению прикладываю файл, куда должна собираться вся информация (Итоговый файл.xls) и файл (для примера прикладываю только один, т.к. все файлы будут иметь полностью одинаковую структуру), откуда эта информация должна браться (Файл-источник.xls)
 
Заранее крайне благодарен за помощь в решении данной проблемы!

NooBasTiK


B2R

Цитата: NooBasTiK от 21.08.2012, 17:57
MyAddin надстройка вам в помощь http://www.excel-vba.ru/nadstrojka-myaddin/sbor-dannyx-s-neskolkix-listovknig/
Благодарю за вариант, но с учетом того, что это прийдется использовать в работе, а на машинах запрещено запускать какие-либо исполнительные файлы, такой вариант не совсем подходит (да, можно сделать это дома, но подобную операцию прийдется делать крайне регулярно и, вероятно, не только мне), поэтому все еще буду рад иным возможным решениям данной задачи.

RAN

Лепота!
Напишите мне макрос, правда запускать я их не могу!  :'(

B2R

Цитата: RAN от 21.08.2012, 20:12
Лепота!
Напишите мне макрос, правда запускать я их не могу!  :'(
Я повторюсь, запрещено запускать именно исполнительные файлы, использовать макросы мне никто не запрещает, как и менять настройки excel.

Serge 007

Цитата: B2R от 21.08.2012, 20:29
...запрещено запускать именно исполнительные файлы, использовать макросы мне никто не запрещает...
Что такое " исполнительные файлы" по Вашему? exe, bat? Надстройка Excel - это файл с таким же расширением, как и простой файл Excel, например xls. Никаким " исполнительным" он не является. Просто обычный файл Excel. И макросы хранятся в нём,  а не в Вашем рабочем файле. Так в чём проблема?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

B2R

Цитата: Serge 007 от 21.08.2012, 20:32
Что такое " исполнительные файлы" по Вашему? exe, bat? Надстройка Excel - это файл с таким же расширением, как и простой файл Excel, например xls. Никаким " исполнительным" он не является. Просто обычный файл Excel. И макросы хранятся в нём,  а не в Вашем рабочем файле. Так в чём проблема?
Уже увидел, что надстройку можно без установочного файла включить, просто по дефолту он инсталлится .exe файлом. Спасибо.
В любом случае правда более удобным вариантом был бы макрос (т.к. использовать планируется на разных компьютерах, а ставить надстройку всем будет явно не очень комфортно). По сути готов за данную помощь (именно в написании макроса) предоставить соответствующее вознаграждение с предоплатой (подробнее можем в ПМ обсудить с тем, кому интересно).

Serge 007

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

kuklp

Цитата: B2R от 21.08.2012, 22:06
(подробнее можем в ПМ обсудить с тем, кому интересно).
Адрес в подписи, пишите.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771