Вопрос № 89778: Уважаемые Эксперты, помогите пожалуйста найти решение следующей вопроса:
имеется 50 файлов xls, которые идентичны по структуре, т.е. формат данных во всех файлах идентичен, есть лист1 в каждом файле и в этом листе есть диапазон данных, диапзоны т...
Вопрос № 89.778
Уважаемые Эксперты, помогите пожалуйста найти решение следующей вопроса:
имеется 50 файлов xls, которые идентичны по структуре, т.е. формат данных во всех файлах идентичен, есть лист1 в каждом файле и в этом листе есть диапазон данных, диапзоны также идентичны, А2:BC56, а вот данные в этих дипазонах в кажом файле разные. Необходимо сделать свод лист в новом файле в котором будут суммироваться данные из диапазонов всех 50 файлов. Excel не воспринимает столь много значений в одной формуле, т.е. у действия файл1(А2:B2)+файл2(А2:B2)..... есть ограничение. Как этого избежать, что бы сложить
одну ячейку, а затем успешно протянуть сумму всего диапазона?
Большое спасибо!
Отвечает: PsySex
Здравствуйте, Элли Александровна Татошкина!
Итак, как работает этот макрос. Макрос в приложении. Его можно поместить в новый документ, он работает как отдельная программа. Нужно создать директорию "c: est1", в эту папку поместить все ваши экселевские файлы. Потом там же создать cells.txt, в этот файл запишите перечень ячеек по которым собираются суммы, в виде
В2
С4
..
А5
Вообщем имя новой ячейки с новой строки. И сохраните его. Как я понял, что структура всех файлов одинакова, в том числе и конечного с результатом, то скопируйте какой-нибудь файл в корень диска C: и дайте ему имя result.xls. После обработки макроса суммы будут именно в этом файле по ячейкам из файла cells.txt.
И последнее у меня неполучилось сделать макрос с переопределением массива, поэтому сделайте это вручную. Запомните количество ячеек которые вы поместили в файл cells.txt. В макросе есть число 100, там соответствующие коментарии, его нужно изменить на ваше колличество. Это необходимо сделать в начале и в середине макроса, в описаниях цикла For..Next. После этого использовать макрос.
Приложение:
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 03.06.2007, 14:56 Оценка за ответ: 5
Отвечает: HookEst
Здравствуйте, Элли Александровна Татошкина!
Не удержался, решил все-таки дать свой вариант с использованием Сводной Таблицы.
макрос CreateTable запрашивает папку и создает Сводную Таблицу(консолидацию) для всех книг из этой папки для региона DATA_RANGE.
также привожу Sub которой я создавал 50 пробных книг.
у меня работает замечательно
см приложение
Успехов, HookEst.
Приложение:
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 04.06.2007, 10:16 Оценка за ответ: 5