Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Быстрый макрос: суммировать ячейку в многих книгах, A1 в Книге 1 + A1 в Книге 2 + ... 
:(
    Опции темы
nikhardy
Дата 11.1.2012, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.12.2011

Репутация: нет
Всего: нет



Дано: Много файлов стандартной формы (100 штук). Бюджеты по отдельно взятым объектам.
Требуется: Консолидировать эти бюджетики в один бюджет. То есть сложить все ячейки по всем книгам. Иначе говоря, должен на выходе быть файл: ИТОГО.xls, где А1 = Значение А1 в книге 1 + Значение А1 в книге 2 + Значение А1 в книге 3... 

Я написал код, он очевиден, но работает катастрофически медленно (по несколько минут на файл, где всего 2000 строк и 12 столбцов)

Код

   For j = 5 to 17
            For k = 12 To 450 step 1
                temp = Cells(k, j)
                temp = temp + ExecuteExcel4Macro("'" & path & "[" & file & "]" & listname & "'!" & Cells(k, j).Address(, , xlR1C1))
                Cells(k, j) = temp
            Next k
        Next j


Есть ли способ улучшить этот код?

P.S.
Сейчас код берёт значение ячейки из закрытой книги Excel. Я не против, если он будет её открывать.

Добавлено через 3 минуты и 12 секунд
Забыл сказать, что макрос перебирает файлы из директории, подставляя file и path автоматически.

PM MAIL   Вверх
Akina
Дата 11.1.2012, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Подключайтесь к каждой книге, используя ADO, одним запросом выгребайте данные и сливайте в массив. Полученный результат вываливайте на лист.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.