Страницы: 1
RSS
Сбор данных из многих файлов в один
 
Друзья, помогите, пожалуйста, найти решение следующей задачи. Есть порядка 1000 файлов excel заданной структуры (см. вложение).

Задача - составить на основании данных из этих файлов общую таблицу с колонками:
- ФИО сотрудника
- Название КПЭ
- Процент выполнения КПЭ
- Вес КПЭ

Отмечу, что структура файлов идентична, но количество КПЭ у разных сотрудников может быть разным, в этом заключается дополнительная сложность.
Заранее благодарю за помощь, советы и подсказки.  
 
Цитата
ГЛАВНОЕ ПРАВИЛО
Прежде чем задать вопрос - поищите на него ответ поиском по форуму и посмотрите статьи в Приемах. Здесь уже обсуждалось более 45 000 вопросов - вполне возможно (и даже скорее всего!), кто-то уже нашел решение.
Название Вашей темы внес в поиск по форуму. Только на форуме 10 страниц ссылок! А если задать поиск в И-нете?
И ничегошеньки не помогло?
 
Нет, не помогло.
 
Такой ответ подразумевает, что Вы что-то пробовали (сомнительно: файл с расширением .xlsx, в нем макросы не живут)... Покажите Ваши попытки: что не получилось, на чем заминка?
Или "не помогло" - отговорка и ничего не искали? Тогда - в раздел платных заказов.
Поймите, здесь с удовольствием помогают тем, кто сам старается, а не заходит за готовым.
 
Искала, правда. Пробовала использовать power query, у меня нет опыта работы с этой надстройкой, но сложилось впечатление, что она не подходит для работы с файлами моей структуры, а только с простыми таблицами.
Пробовала искать примеры макросов в похожих задачах, но все, что находила, ссылается на конкретные диапазоны ячеек, а в моем случае, получается, что я могу наверняка знать только ячейку с именем, ячейки с данными для первого КПЭ, а вот как определить конец диапазона, я не соображу...
 
Цитата
Evusenko написал:
я могу наверняка знать только ячейку с именем, ячейки с данными для первого КПЭ, а вот как определить конец диапазона, я не соображу...
Один из многих вариантов:
Код
Sub tt()
    Dim r As Range
    Set r = Range([a14], [a14].End(xlDown))
    r.Select    'это чтоб посмотреть что взяли в переменную
End Sub

По факту из-за того что в последней строке есть данные "Общий процент выполнения, %:" диапазон заканчивается ею. Можно было просто поиском найти такую ячейку, и взять от известной до найденной.
И вот в этом известном диапазоне и перебирайте все строки, и известные ячейки каждой такой строки.
Изменено: Hugo - 07.03.2018 19:21:22
 
Заполните Ваш файл информацией.
Покажите пример заполнения БД на основе этой информации - на соседнем листе.
 
Hugo, благодарю, я попробую
 
В принципе задача легко решается с помощью надстройки
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=5&TID=97993&T...
Изменено: PowerBoy - 09.03.2018 09:16:00
Excel + SQL = Activetables
Страницы: 1
Наверх