Страницы: 1
RSS
[VBA] Поиск и перенос уникальных данных
 
Всем добрый день!

Очень прошу вас помочь в создании макроса для переноса уникальных данных из одной книги в другую, так как макросами владею не сильно. Пример приложил в файле, для простоты Лист=Книга.

Допущения следующие:
  1. Исходный файл "Книга 2", который выгружается из открытого источника, и куда постоянно добавляются данные в верхнюю часть таблицы, а также обновляются существующие данные
  2. "Книга 1" - рабочий файл, в который мне необходимо перенести новые значения в верхнюю часть таблицы, а также обновить "Статус" и "Кол-во поставщиков" у существующих уже позиций
Порядок действий следующий (как я вижу "в лоб"):
  1. По столбцу ID определить количество неповторяющихся значений в "Книге 2"
  2. Выделить из образовавшегося списка только позиции из России (столбец страна). По данным двум критериям (1 и 2) получаются уникальные данные
  3. Вставить пустые строки в "Книга 1" под шапку таблицы, по количеству равным неповторяющимся значениям из п.1 и п.2. Тут скорее всего подтянется формат ячеек шапки, поэтому нужно подправить формат ячеек исходя из общего формата таблицы.
  4. Вставить значениями те данные уникальных ID, которые пересекаются в обеих таблицах (выделены зеленым в "Книге 1").
  5. ВПР-ом подтянуть данные по "Статусу" и "Кол-ву поставщиков" из "Книги 1" в "Книгу 2" для всех существующих строк. Вставить как значения.
Это основная часть кода, в которой я совсем запутался и не понимаю, какие функции и формулы нужно использовать (кроме, наверное, 5 пункта:)...
Понимаю, что у многих нет времени детально разбираться с задачкой, поэтому буду рад, если вы хотя бы подскажете какие функции нужно использовать для каждого шага.

Спасибо!
Изменено: BUCK - 09.09.2022 14:42:00
 
Если я правильно понял, то можно сделать вот так.

Поменяйте путь к файлу из которого планируете брать данные.
И сейчас для подсветки новых строк ИД красится в красный, но это только для тестирования.
 
Roman M, спасибо большое вам за отклик!
Начал интегрировать ваш код в мои рабочие файлы и понял, что без уточнений, у меня это работать не будет из-за моей недальновидности

Во вложении мои исходные рабочие файлы (простите, что задваиваю работу - думал на простых примерах будет понятный для меня код...), и в них выходит ошибка, когда код начинает пробегать по всем данным. Я попытался изменить все параметры под свои файлы, но ничего не вышло.

Также я упомянул уже позже вашего ответа, к сожалению, что в Книга 2 мне нужны только те строки, у которых "Project Template" включает в себя слово "России", а все остальные данные не нужны.

Если вас сильно не затруднит, буду очень благодарен за помощь!
 
Поправил, см.вложение.
 
Roman M, я не могу выразить как я вам благодарен!
Одна маленькая и последняя просьба... Я честно пытался врубиться в ваш код и изменить его, но ничего не вышло пока что.
По вашему алгоритму код тянет из Книги 1 существующие по ID поля status, number of suppliers и вставляет их в Книгу 2 (то есть из сводного в исходный файл), а мне очень нужно наоборот: чтобы он по существующим ID в Книге 1 обновлял данные по status, number of suppliers из Книги 2 (то есть из исходного файла в сводный). По идее у меня Книга 1 (сводный) - это статичный файл на рабочем столе, а Книга 2 (исходный) - постоянно выгружается из сети и там могут изменятся и статус и кол-во поставщиков. Я голову сломал с кодом, переворачивал его туда сюда, но никак не смог разобраться :(
Очень прошу последней помощи.
 
Ну в первом сообщении было наоборот )
Цитата
написал:
ВПР-ом подтянуть данные по "Статусу" и "Кол-ву поставщиков" из "Книги 1" в "Книгу 2" для всех существующих строк. Вставить как значения.

Во вложении обновленный файл.
 
Roman M, счастья и долгих тебе лет жизни, дружище!
Страницы: 1
Наверх