Добрый день. Необходимо создать макрос, который будет из скачиваемого ежедневного файла собирать данные по определенным данным и вставлять их в другой файл. Файл, который скачиваем, имеет 24 листа с данным за каждый час, и на каждом таком листе данные по более чем 7000 точкам, из которых данные собрать нужно только по 13 за каждый час. Файл, в который вставляем, имеет количество вкладок, соответствующее количеству дней в отчетном месяце. Следовательно, собранные данные по 13 точкам за 24 часа в конкретный день, нужно вставлять в соответствующую дату. Макрос в видео отдельного документа с кнопкой "Заполнить", открывать скачанный файл из конкретной папке, формировать данные (можно на отдельном листе в макросе), открывать файл в другой папке, в который необходимо вставить данные, Вставить сформированные данные, Сохранить, закрыть все файлы, кроме макроса. Скачиваемый отчет под именем 20241106_eur_big_nodes_prices_pub.xls за 6 ноября, за каждый день меняется дата в названии. Файл, который необходимо заполнить: Цены 2024-11, вкладки внизу соответствуют дню. Скрин того, как выглядит макрос. Спасибо!
Добрый день. Необходимо создать макрос, который будет из скачиваемого ежедневного файла собирать данные по определенным данным и вставлять их в другой файл. Файл, который скачиваем, имеет 24 листа с данным за каждый час, и на каждом таком листе данные по более чем 7000 точкам, из которых данные собрать нужно только по 13 за каждый час. Файл, в который вставляем, имеет количество вкладок, соответствующее количеству дней в отчетном месяце. Следовательно, собранные данные по 13 точкам за 24 часа в конкретный день, нужно вставлять в соответствующую дату. Макрос в видео отдельного документа с кнопкой "Заполнить", открывать скачанный файл из конкретной папке, формировать данные (можно на отдельном листе в макросе), открывать файл в другой папке, в который необходимо вставить данные, Вставить сформированные данные, Сохранить, закрыть все файлы, кроме макроса. Скачиваемый отчет под именем 20241106_eur_big_nodes_prices_pub.xls за 6 ноября, за каждый день меняется дата в названии. Файл, который необходимо заполнить: Цены 2024-11, вкладки внизу соответствуют дню. Скрин того, как выглядит макрос. Спасибо!alenzagol3228
Добрый день. Т.к. вопрос не в разделе работы, то могу себе позволить продумать работающий быстрый алгоритм, не претендуя отобрать работу )) Который можно доработать для других месяцев.
В диалоге открываем файл. По имени файла определяем дату. Если эта дата не в ноябре 2024 года то выход из макроса. Год и месяц есть, но нам не нужно - т.к. имеем в наличии файл цен где есть листы только на ноябрь 2024. Запоминаем дату. В сводном файле идём на лист с датой, циклом по строке 6 запоминаем в словаре какие номера интересуют. В открытом в диалоге файле: 1. цикл по листам 2. в каждом листе цикл построкам массива данных - проверяем по словарю нужный ли номер, если да то записываем в словарь ключ номер-час и значение. 3. закрываем открытый файл. Берём в массив данные сводного за это число из диапазона A6:M31. Цикл по столбцам. В нём цикл по строкам. Если есть в словаре ключ номер-час то извлекаем значение, пишем в массив. В конце пишем назад массив на лист.
Может кто захочет написать сам код... потренироваться.
Добрый день. Т.к. вопрос не в разделе работы, то могу себе позволить продумать работающий быстрый алгоритм, не претендуя отобрать работу )) Который можно доработать для других месяцев.
В диалоге открываем файл. По имени файла определяем дату. Если эта дата не в ноябре 2024 года то выход из макроса. Год и месяц есть, но нам не нужно - т.к. имеем в наличии файл цен где есть листы только на ноябрь 2024. Запоминаем дату. В сводном файле идём на лист с датой, циклом по строке 6 запоминаем в словаре какие номера интересуют. В открытом в диалоге файле: 1. цикл по листам 2. в каждом листе цикл построкам массива данных - проверяем по словарю нужный ли номер, если да то записываем в словарь ключ номер-час и значение. 3. закрываем открытый файл. Берём в массив данные сводного за это число из диапазона A6:M31. Цикл по столбцам. В нём цикл по строкам. Если есть в словаре ключ номер-час то извлекаем значение, пишем в массив. В конце пишем назад массив на лист.
Может кто захочет написать сам код... потренироваться.Hugo