Есть таблица, в которой столбцы A-E это исходные данные. И рядом есть столбцы H-L, в которых указаны также данные, но с телефонами. Мне необходимо найти человека из второй части таблицы и проверить, если он есть в первой части, то в столбец F должен попасть его номер телефона. Я делаю через макрос. Но ничего не получается. Не пойму где ошибка в макросе. Пожалуйста, подскажите.
Код
Sub Telefon()
With Worksheets("Лист1")
arr = .Range("H2:L" & .Cells(.Rows.Count, "L").End(xlUp).Row).Value
Set dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
For I = 1 To UBound(arr)
iKey = Trim(arr(I, 1)) & Trim(arr(I, 2)) & Trim(arr(I, 3)) & CStr(arr(I, 4))
dic.Add iKey, CStr(arr(I, 5))
Next
Erase arr
arr = .Range("A2:E" & .Cells(.Rows.Count, "A").End(xlUp).Row).Value
For I = 1 To UBound(arr)
iKey = Trim(arr(I, 1)) & Trim(arr(I, 2)) & Trim(arr(I, 3)) & CStr(arr(I, 4))
If dic.Exists(iKey) Then arr(I, 6) = dic(iKey)
Next
.Range("B2:E").Resize(UBound(arr), 6) = arr
End With
End Sub