![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.01.2010
Сообщений: 28
|
![]()
Уважаемые программисты, очень нужна ваша помощь.
Есть много разных компаний (порядка 700), для каждой из которых в отдельном файле excel заполнен баланс на разные отчетные даты (в приложении для примера у меня это файлы Вася.xls и Рома.xls). Мне нужно собрать все 700 компаний в один сводный файл, причем на каждую отчетную дату своя таблица. При этом в сводной таблице строки и столбцы транспонируются. (в приложении то, что в итоге должно получится в файле Итог_файл.xls) Я подумала, что можно и просто копированием это сделать из каждого файла в сводный, задавать искомую дату в самом макросе и искать её в 3 строчке каждого файлика. И со смещением копировать в сводную таблицу для каждой следующей компании. Но получится что все равно надо 700 раз открывать файлы. Пока ничего более лучшего в голову не пришло. Буду очень признательна за помощь. Спасибо. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 09.12.2008
Сообщений: 56
|
![]()
robbe, а кто Вам писал другие макросы?
Сделать можно, но возникают вопросы для ленивых 1. даты отчетов в файлах всегда совпадают с именами листов. 2. количество листов всегда равно количеству отчетных дат 3 особенно лениво - соответствие данных например строка 15 пишется все время в столбец А, 16 - В и так далее. Вероятно делать надо так - открываем файлы по очереди и переносим данные на заданные листы, потом следующий файл ![]()
обычно я на http://planetaexcel.ru/forum.php
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 12.01.2010
Сообщений: 28
|
![]() Цитата:
SAS888, а можете примерно рассказать, как это делать. Может где-то что-то подобное уже рассматривалось, и я смогу переделать под себя. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Примерно так:
1. Создаем временный лист 2. В цикле просматриваем (не открываем) все нужные файлы. 3. Для каждого файла на временном листе создаем ссылки на текущий файл, известный лист, в известном диапазоне. 4. Получив значения, удаляем ссылки, оставляя только значения. 5. Работаем (копируем, вычисляем и т.п.) с данными этой таблицы (текущего файла). 6. По окончании работы удаляем временный лист.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
![]()
если сделать все таки обычным способом:
получить имена файлов из папки (скопируются на лист "имена" в первую колонку) Код:
Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
To Dophin:
Думаю, что все будет зависеть от того, какие файлы обрабатываются. Если там много данных, формул, форматов и т.п., то они могут долго открываться. Нужно пробовать, как будет быстрее: Открывать, или создавать ссылки.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
![]()
исходя из опыта общения с Вами, то уверен что Ваш вариант более скоростной. но мой наверно все таки более понятен и прост)
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.12.2008
Сообщений: 56
|
![]()
robbe, Держите вариант
![]() Так, как Вы не написали соответствие данных - сделал только на 1 блок - дальше сами, если подойдет. Положите файл с макросом в папку с Вашими файлами для обработки и запустите на выполнение. По первому файлу будут определены названия листов и должны вставляться данные. ЗЫ в подписи процедуры - автор оригинального маккроса взятого за исходный.
обычно я на http://planetaexcel.ru/forum.php
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать и сохранить несколько файлов в .zip | Lubocka | Microsoft Office Excel | 8 | 09.08.2012 20:50 |
Как в файле собственного типа (с возможностью шифрования) сохранять несколько других файлов? | Кронос | Помощь студентам | 1 | 20.01.2010 21:27 |
Создать загрузчик других программ в свое окно | fiddler | Общие вопросы Delphi | 4 | 25.11.2009 13:05 |
Сводный файл для результатов - помогите плз | porco | Microsoft Office Excel | 0 | 19.05.2009 15:31 |
Как создать БД в SQL из word файлов | Dennikid | SQL, базы данных | 13 | 09.11.2008 13:07 |