Оптимизация кода по консолидации данных с разных книг в одну - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте.
Необходимо консолидировать с 20 книг информацию. Каждая книга содежит множество листов, среди которых есть четыре листы выплат за каждый квартал. В итоге нужно получить одну книгу с четырями листами, с соответствующими данными со всех книг.
Написан следующий код.
Помогите ооптимизировать следующие вещи:
1. Коснослидация выплат за один квартал -это отдельный код, который срабатывает по кнопке
2. Код работает долго, так как, чтобы забарть данные есму необходимо открывать книгу, а книги большие, таким образом процесс проходит не быстро.
Подскажите, что нужно изменить, чтобы забирать данные не открывая книгу. И есть ли возможность кнопкой запускать забор данных со всех книг?
Спасибо.

Решение задачи: «Оптимизация кода по консолидации данных с разных книг в одну»

textual
Листинг программы
Dim cn As Object, rs As Object
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ThisWorkbook.FullName + ";Extended Properties='Excel 8.0'"
rs.Open "select NUM, Sum(SUM) from [Лист2$] group by NUM order by Sum(SUM) DESC", cn, 3
Cells(1, 5).CopyFromRecordset rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы