Страницы: 1
RSS
Помогите найти ошибку в макросе, В таблице из одних столбцов (ФИО, др, СНИЛС) необходимо найти по ФИО человека в других столбцах и вставить телефон
 
Есть таблица, в которой столбцы 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
Изменено: LenaG - 27.03.2018 10:40:17
 
Правила, название темы.
Название темы должно отражать суть задачи. Предложите новое. Модераторы заменят.

Помощь скрыта.
Страницы: 1
Наверх