Есть документ Excel.На нем есть листы с данными.Все данные расположены в одинаковых столбцах на каждом листе.Нужно что при использование макроса создавался новый лист и выводились данные с предыдущих листов.
Как совместить данные из нескольких листов в один
24.08.2018 16:20:29
|
|
|
|
24.08.2018 16:25:43
Demis, используйте надстройку Plex
|
|
|
|
24.08.2018 16:34:03
Demis, если версия excel позволяет, то посмотрите Power Query (PQ)
там ваша задача практически в одно действие решается |
|
|
|
24.08.2018 16:38:36
|
|
|
|
24.08.2018 23:33:48
Вариант: тривиальный макрос.
1. Количество листов в Вашем файле для макроса - не критично. 2. Макрос создает папку OUT, в которую "убирает" файл "Itog" с Вашей "Хотелкой". 3. Макрос всегда должен присутствовать в файле - Demis.xlsb. P.S. "По Уму": надо иметь папку IN с входными файлами - макросный файл (с одним листом) должен создавать новые листы и копировать на них входные файлы. Как-то так...
Изменено: |
|
|
|
30.10.2019 15:20:13
|
|
|
|
30.10.2019 15:44:39
LAV75, замените
|
|||||
|
|
30.10.2019 16:11:40
в PQ
|
|
|
|
30.10.2019 16:41:23
artyrH, по моему опыту делать запросы менее зависимыми от фиксированных наименований столбцов очень облегчает работу в дальнейшем. Тогда запросы получаются универсальными и их легко переделывать в функции для обработки разных источников но по одному и тому же алгоритму.
Вот горшок пустой, он предмет простой...
|
|||
|
|
30.10.2019 19:20:00
PooHkrd, да, все верно. и вправду запрос становится универсальным без упоминания названий столбцов.
спасибо за этот вариант |
|
|
|
30.10.2019 23:00:30
artyrH, вот только этот шаг
лучше бы заменить на
Ибо если левых столбцов не будет то может вылезти ошибка, а наличие корректных столбцов по идее должно быть обеспечено всегда. З.Ы. Хотя, щас проверил Table.RemoveColumns без ошибок отрабатывает если список столбцов на удаление пустой. Так что необязательно.
Изменено:
Вот горшок пустой, он предмет простой...
|
|||||
|
|
30.10.2019 23:22:02
PooHkrd, спасибо. Возьму на заметку
|
|
|
|
31.10.2019 08:23:02
casag,
работает! Спасибо! Если я правильно понял - в исходной строке кода "Copy" это команда на копирование необходимого, а следом через пробел "Cells" это уже команда на вставку с указанной ячейки? |
|
|
|
31.10.2019 08:38:36
artyrH,
вы сделали сборку через Power Qwery? Я пытался разобраться как собрать данные, но увы, не понял как надстройку заставить просматривать все листы, а не те которые были на момент сборки. В вашем файле добавил лист с данными (т.к. их количество не постоянное - увеличивается), обновил сводную и не увидел в ней данных с добавленного листа. Или я все таки не так что-то делаю, или работа с данной надстройкой для пользователя сложнее чем кажется и нужно еще что-то допиливать. Поясню, я пытаюсь сделать документ, в котором данные с листов собираются для анализа и визуализации на графиках в сводную таблицу. Чтобы пользователь мог открыв лист "сборка" увидеть в динамике, как ведут себя данные в течение времени (от листа к листу, от даты к дате). Ну или чтобы для этого ему нужно было максимум нажать большую волшебную кнопку на экране, чтобы таблица обновилась. |
|
|
|
31.10.2019 08:42:56
|
|||
|
|
31.10.2019 08:45:33
|
|
|
|
31.10.2019 08:47:44
|
|
|
|
31.10.2019 09:11:46
|
|||
|
|
31.10.2019 10:08:48
|
|||
|
|
31.10.2019 10:36:49
Логика запроса artyrH, простая я в нем только слегка заменил обращение к столбцам таблиц с фиксированного на динамическое: 1. из файла обращаемся к содержимому этого же файла сохраненному на диск (отсюда вывод - прежде чем обновлять таблицу после внесения изменений необходимо сохранить файл, иначе запрос не увидит этих изменений. 2. из списка всех листов убираем лист "сборка" 3. собираем друг под друга содержимое остальных листов 4. заменяем ошибки в формулах на пустые ячейки. 5. ПРОФИТ!
Вот горшок пустой, он предмет простой...
|
|||
|
|
31.10.2019 13:24:57
|
|
|
|
31.10.2019 13:45:15
|
|
|
|
01.11.2019 15:20:34
наткнулся на нее вчера - заинтересовала фраза "а что, так можно было?!")))
Смотришь, как одну и ту же задачу решают разными способами и понимаешь, что ничего не знаешь. Спасибо за подсказку!
Только получается если на компе пользователя нет надстройки PQ то и обновление ему недоступно? Я попытался обновить файл с отключенным PQ - ошибка макроса refreshall...( |
|||
|
|
01.11.2019 15:57:06
LAV75, то есть вы дополнили вчерашнее сообщение и нет никакой надписи, как, например, в #18, о том что внесено изменение в сообщение. интересно
|
|
|
|
01.11.2019 16:06:43
Вот горшок пустой, он предмет простой...
|
|||
|
|
22.11.2019 14:16:26
Разбирался как работает сборка кода в PQ. Разобрался вроде. Настроил код, мою задачу выполняет. Но так как конечный пользователь сидит на старом Excel, PQ ему не ставится. Думаю сижу над макросами теперь... |
|||
|
|
22.11.2019 14:44:45
|
|||||
|
|
22.11.2019 15:27:44
Да IT закономерно не дают такой возможности. А лицензий для всех нет.... |
||||
|
|
|||