Здравствуйте все! Наведите, пожалуйста, на путь истинный. К посту прикреплено 2 файла "Сводный очет" и "Статистика". В начале каждого месяца я выгружаю файл статистики за прошедшие периоды (прошлый месяц и несколько предыдущих периодов). Данный файл со статистикой я использую для ежемесячного обновления сводного отчета. Пусть вас не смущает некоторая нескладность содержания отчетов. Это лишь пример, а столы, стулья и табуретки - это первое, что пришло мне в голову. На данный момент обновление статистики это полностью ручной процесс, который осуществляется с помощью построеня сводных таблиц по каждому товару плюс одна сводная таблица по платежам в разрезе каждого товара с последующим применение функции ВПР. Я же решил полность автоматизировать этот процесс средствами VBA, в котором являюсь новичком.
Для информации, на самом деле контрагентов существует более 400, по каждому контрагенту 14 параметров для обновления (в примере - , а файлы со статистикой содержат от 10.000 до 20.000 строк.
Порекомендуйте, пожалуйста, на основе прикрепленных примеров, каким образом в VBA наиболее эффективно осуществлять суммирование с одним и более условиями (период+контрагент+товар и т.д.)., а также, учитывая количество строки параметров для обновления, как сделать макрос максимально быстрым.
Придуманная Вами структура файла "Статистика" - "кривая". "Масло масляное" - это про Вашу структуру. Товар Количество столов Количество стульев Количество табуреток Количество ножек Стул Стол Табуретка Покажите реальную структуру и несколько строк информации. И еще: "Сводный отчет" является регламентным документом в Вашей организации или это - тоже "полет архитектурной мысли"? ______________________________________________________________ Для скорости работы нормального макроса над очередным экспортом Вашей "Статистики" абсолютно не критичны: 1. количество строк, 2. количество контрагентов, 3. количество видов товаров.
Мотя пишет: Придуманная Вами структура файла "Статистика" - "кривая". "Масло масляное" - это про Вашу структуру. Покажите реальную структуру и несколько строк информации.
Согласен с тем, что пример неудачен. Прилагаю новые, но уже реальные примеры (тем не менее все персонажи в них вымышлены, а совпадения случайны). Файл "Статистика" на листе "Statistics" содержит ежемесячно загружаемые данные, на основании которых создаются сводные таблицы "Charge" (тарификация), "Minutes", "SMS", "GPRS", которые затем переводятся в значения. С данных таблиц с помощью функции ВПР производится наполнение сводного отчета по полю "PAP code" (названия строк), которое является уникальным идентификатором партнера. Вверху над каждой сводной таблицей в ячейках с желтой заливкой указаны какие поля в сводном отчете заполняются из соответствующего столбца сводной таблицы.
Цитата
Мотя пишет: И еще: "Сводный отчет" является регламентным документом в Вашей организации или это - тоже "полет архитектурной мысли"?
Это регламентный отчет, наиболее соответствующий нашей специфике на данное время.
Буду очень благодарен за ваши наставления. Просьба, так сказать, направить меня в правильное русло. В каком направлении стоит двигаться?
Сейчас я представляю, что это будет 12 процедур (соответствует количеству обновляемых полей из сводного отчета) плюс одна процедура, которая поочередно вызывает эти 12 процедур. В каждой процедуре планирую использовать функций СУММЕСЛИМН или СУММПРОИЗВ или же вложенные в друг друга структуры If-Then-Else.