Добрый день, У меня есть два больших массива данных. В обоих есть столб с ФИО и рядом в строке номера телефонов. В одном массиве оригинал а в другом измененные номера (из числа тех людей что в 1 массиве). Мне необходимо создать функцию, которая будет по именам из второго массива искать строку с именем в 1 массиве, затем сравнивать номера из 1 массива напротив имени с номерами из второго массива в строке с найденным именем. Я только начал разбираться в макросах и попробовал написать 2 но мне не хватает знаний:
Код
Sub poiskimeni()
Dim x As Long
Dim fio As String
Dim poiskimeni As Range
fio = Cells(2, 12).Value
x = 0
Set poiskimeni = Range("B:B")
Set poiskimeni = Intersect(poiskimeni, poiskimeni.Parent.UsedRange)
For Each Row In poiskimeni
If Row = fio Then
x = x + 1
End If
Next
Cells(2, 15).Value = x
End Sub
Этот макрос ищет совпадение в столбце с именем,(фактически работает как СЧЕТЕСЛИ) но мне необходимо чтобы он выдавал ссылку на строку для следующего (переменные заданы вручную мной)
Код
Sub Poisk()
Dim pole1 As Range
Dim polepoiska As Range
Dim x As Integer
x = 0
Set pole1 = Range("M2:N2")
Set polepoiska = Range("C2:E2")
u1 = pole1.Columns.Count
u2 = polepoiska.Columns.Count
For Each u1 In pole1
For Each u2 In polepoiska
If u2 = u1 Then
x = x + 1
End If
Next
Next
Cells(2, 16).Value = x
End Sub
Этот ищет совпадающие номера в строках (переменные заданы вручную мной). Мне надо их объединить в функцию с переменными fio,poiskimeni,pole1,polepoiska. Которая будет выдавать "Совпадают такие-то номера" (закраску повторов смогу сам сделать). Прошу подсказать и исправить недочеты. Пример во вложении.
Если задача практическая, а не тренировочная, то почему не использовать просто ВПР/ГПР? что-то типа "если(впр(имя2;массив1;2;0)=номер2;"совпало";"не совпало")
Михаил Лебедев, УФ не подойдет, номера строк в двух массивах с одинаковыми именами не совпадают. К тому же это не порядковые номера, это номера телефонов. Так же стоит учитывать что в оригинале в 1 массиве около 8 тыс. строк а во 2: 3-4 тыс.