Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/заполнить таблицу Excel данными из другой таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
заполнить таблицу Excel данными из другой таблицы
alenzagol3228 Дата: Среда, 06.11.2024, 14:03 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2016
Добрый день. Необходимо создать макрос, который будет из скачиваемого ежедневного файла собирать данные по определенным данным и вставлять их в другой файл. Файл, который скачиваем, имеет 24 листа с данным за каждый час, и на каждом таком листе данные по более чем 7000 точкам, из которых данные собрать нужно только по 13 за каждый час. Файл, в который вставляем, имеет количество вкладок, соответствующее количеству дней в отчетном месяце. Следовательно, собранные данные по 13 точкам за 24 часа в конкретный день, нужно вставлять в соответствующую дату. Макрос в видео отдельного документа с кнопкой "Заполнить", открывать скачанный файл из конкретной папке, формировать данные (можно на отдельном листе в макросе), открывать файл в другой папке, в который необходимо вставить данные, Вставить сформированные данные, Сохранить, закрыть все файлы, кроме макроса.
Скачиваемый отчет под именем 20241106_eur_big_nodes_prices_pub.xls за 6 ноября, за каждый день меняется дата в названии. Файл, который необходимо заполнить: Цены 2024-11, вкладки внизу соответствуют дню. Скрин того, как выглядит макрос.
Спасибо!
К сообщению приложен файл: 20241106_eur_big_nodes_prices_.xls (477.5 Kb) · ceny_2024_11.xlsx (49.1 Kb) · 8902118.png (49.2 Kb)
 
Ответить
СообщениеДобрый день. Необходимо создать макрос, который будет из скачиваемого ежедневного файла собирать данные по определенным данным и вставлять их в другой файл. Файл, который скачиваем, имеет 24 листа с данным за каждый час, и на каждом таком листе данные по более чем 7000 точкам, из которых данные собрать нужно только по 13 за каждый час. Файл, в который вставляем, имеет количество вкладок, соответствующее количеству дней в отчетном месяце. Следовательно, собранные данные по 13 точкам за 24 часа в конкретный день, нужно вставлять в соответствующую дату. Макрос в видео отдельного документа с кнопкой "Заполнить", открывать скачанный файл из конкретной папке, формировать данные (можно на отдельном листе в макросе), открывать файл в другой папке, в который необходимо вставить данные, Вставить сформированные данные, Сохранить, закрыть все файлы, кроме макроса.
Скачиваемый отчет под именем 20241106_eur_big_nodes_prices_pub.xls за 6 ноября, за каждый день меняется дата в названии. Файл, который необходимо заполнить: Цены 2024-11, вкладки внизу соответствуют дню. Скрин того, как выглядит макрос.
Спасибо!

Автор - alenzagol3228
Дата добавления - 06.11.2024 в 14:03
Hugo Дата: Среда, 06.11.2024, 20:31 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Добрый день.
Т.к. вопрос не в разделе работы, то могу себе позволить продумать работающий быстрый алгоритм, не претендуя отобрать работу ))
Который можно доработать для других месяцев.

В диалоге открываем файл.
По имени файла определяем дату. Если эта дата не в ноябре 2024 года то выход из макроса.
Год и месяц есть, но нам не нужно - т.к. имеем в наличии файл цен где есть листы только на ноябрь 2024.
Запоминаем дату.
В сводном файле идём на лист с датой, циклом по строке 6 запоминаем в словаре какие номера интересуют.
В открытом в диалоге файле:
1. цикл по листам
2. в каждом листе цикл построкам массива данных - проверяем по словарю нужный ли номер, если да то записываем в словарь ключ номер-час и значение.
3. закрываем открытый файл.
Берём в массив данные сводного за это число из диапазона A6:M31.
Цикл по столбцам.
В нём цикл по строкам.
Если есть в словаре ключ номер-час то извлекаем значение, пишем в массив.
В конце пишем назад массив на лист.

Может кто захочет написать сам код... потренироваться.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДобрый день.
Т.к. вопрос не в разделе работы, то могу себе позволить продумать работающий быстрый алгоритм, не претендуя отобрать работу ))
Который можно доработать для других месяцев.

В диалоге открываем файл.
По имени файла определяем дату. Если эта дата не в ноябре 2024 года то выход из макроса.
Год и месяц есть, но нам не нужно - т.к. имеем в наличии файл цен где есть листы только на ноябрь 2024.
Запоминаем дату.
В сводном файле идём на лист с датой, циклом по строке 6 запоминаем в словаре какие номера интересуют.
В открытом в диалоге файле:
1. цикл по листам
2. в каждом листе цикл построкам массива данных - проверяем по словарю нужный ли номер, если да то записываем в словарь ключ номер-час и значение.
3. закрываем открытый файл.
Берём в массив данные сводного за это число из диапазона A6:M31.
Цикл по столбцам.
В нём цикл по строкам.
Если есть в словаре ключ номер-час то извлекаем значение, пишем в массив.
В конце пишем назад массив на лист.

Может кто захочет написать сам код... потренироваться.

Автор - Hugo
Дата добавления - 06.11.2024 в 20:31
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!