|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.11.2017, 14:38 | #1 |
Новичок
Джуниор
Регистрация: 20.11.2017
Сообщений: 3
|
Сборка из плоских файлов в отчет
Всем привет, мне нужно консолидировать реестры с разных листов в один сводный отчет в отдельном листе.
Реестры в виде плоских файлов: тоесть каждая операция разбивается на число строк равное числу позиции товаров/услуг. Пример - одна реализация состоящая из 3х товаров и 1ой услуге, бъется на 4 строки. Сама прописала только формулами, в основном СУММЕСЛИМН Просьба помочь с кодом,если будет у вас время.Очень выручите. Пример приложила |
20.11.2017, 15:34 | #2 |
Новичок
Джуниор
Регистрация: 20.11.2017
Сообщений: 3
|
В каждом листе может присутствовать до 10000строк
|
20.11.2017, 20:30 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Сработает такой алгоритм - делаем словарь заказов, с массивом данных по каждому заказу.
Или 11 словарей Сперва циклом по листам с данными собираем всё в словарь/и, затем в финале циклом по словарю/ям заполняем сводную. Писать код неинтересно/хлопотно, слишком много рутины. В принципе тут на форуме много готовых кодов с Scripting.Dictionary, можно брать и приспосабливать любой. P.S. Посмотрел пристальнее - 7 словарей достаточно. Сделал. Там на листе желательно сперва всем датам задать одинаковый формат, там кое-где даты текстом (хотя на работу кода это не влияет). Ну и с форматом вывода ничего не делал - можете или дописать в код, или навесить на лист вручную. Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 20.11.2017 в 23:46. |
21.11.2017, 08:18 | #4 |
Новичок
Джуниор
Регистрация: 20.11.2017
Сообщений: 3
|
Сделал - Большое при большое Спасибо Вам Hugo121!!! Вы сделали меня счастливой)
|
21.11.2017, 09:39 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Нашёл в коде пару лишних "операций" - там в трёх местах есть такая последовательность:
Код:
Код:
Вообще если заметите что работает долго - можно выгружать данные не на лист поячеечно, а создать пустой массив нужного размера (все размеры к финалу уже известны), наполнить его данными, и уже затем вывалить его на лист - будет заметно быстрее, если строк больше тысячи. Ну и ещё можно добавить информацию о ходе работы в статусбар - это если уж точно долго работает, и хотелось бы видеть что процесс не повис.
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычисление площадей плоских геометрических фигур методом Монте-Карло на с++ | hihikalka | Помощь студентам | 0 | 26.02.2012 12:07 |
Сборка листов из разных файлов в один | Vja4eslav | Microsoft Office Excel | 8 | 17.08.2011 16:30 |
Сборка и разборка файлов | SlippyK | Помощь студентам | 2 | 24.02.2011 22:06 |
Сборка нескольких файлов в один | Gamst | Помощь студентам | 4 | 02.06.2010 20:19 |
Пересечение плоских фигур | Викдон | Общие вопросы C/C++ | 2 | 17.03.2009 08:16 |