Поиск в excel на основании другого excel и формирование нового
Есть 1 excel файл, в котором я дописываю новых клиентов. Каждое n времени приходит файл в котором информация о клиентах, там есть и чужие. Мне нужно на основании моего экселя найти клиентов в экселе который мне приходит и сформировать новый эксель файл. Возможно ли это автоматизировать с помощью vba в excel? Не могу найти информацию или готовое решение..
- Файл "A" в котором информация о моих клиентах
- Файл "find" с всеми клиентами лежит в той же папке
- На основании из файла "A" ищем строки с моими клиентами в файле find
- Добавляем в файл "C" найденные строки. (Табличка "C" считает всё сама, поэтому мне нужно будет из строки брать только некоторые ячейки)
Function GetValue(path, file, sheet, ref)
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then GetValue = "Файл не найден": Exit Function
arg$ = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg$)
If IsError(GetValue) Then GetValue = "<ошибка>"
End Function
Sub Example_GetValue()
p = "C:\Users\AllTimeLearn\Desktop\newtest"
f = "find.xlsx"
s = "В целом"
a = "D1"
Value1 = GetValue(p, f, s, a)
Debug.Print Value1; Immediate
End Sub
Sub get_info_other_excel(id)
i = 0
For Each d In Workbooks("find.xlsx").Sheets("В целом").Range("C8:C50").Cells
i = i + 1 'Нахожу строку и должна добавить к C8, а как?
If d.Value = id Then Debug.Print i 'Вывожу на какой итерации нашла совпадение
If d.Value = "" Then Exit Sub 'пустая строка обозначает выход из функции
'Debug.Print id; Immediate
Next
End Sub
Sub Find_All_Id()
For Each c In Worksheets("RUN").Range("B3:B210").Cells 'A2:D20
If c.Value = "" Then Exit Sub
get_info_other_excel (c.Value)
'Debug.Print c.Value; Immediate
Next
End Sub
И вот я нашла строки в файле 'find', теперь мне нужно преобразовать найденную итерацию в нужную строку в нашем случае +7 ( так как мы находим от C8). Дальше через GetValue я буду получать содержание нужных ячеек на этой строке. Но как это правильно сделать. Что бы я могла поместить полученные несколько ячеек в файл 'C'. Файл C это умная таблица я планирую её очищать вначале макроса и уже потом заполнять ячейки в строках ( не добавляя новых ).
Желаемый результат по нажатию кнопки найти данные из одной таблицы в другой таблице и занести в третью. По клику "запуск" мы идем по столбцам ид клиента и сравниваем содержимое их с таблицей "ТутИщем" с столбцом "ID Клиента". Если найдено совпадения то берем ID партнера который находится в этой таблице и ячейки из таблицы "ТутИщем": "Клиент" (столбец A), "Ид клиента" ( B ), "Доход" ( D ), "От дистрибьютора" ( E ), "Налог"( F ) и помещаем в таблицу "ЗаполняемУмнуюТаблицу". Более подробная визуализация в файле "ИсходныеДанныеТут".
Заранее спасибо за любую подсказку.
https://drive.google.com/file/d/13Mw3RRfBjBoWiEZxwnF2XYKUQrN8EKl9/view?usp=sharing