Подскажите, пожалуйста, что я не так меняю в макросе?
Был файл, в котором необходимо было произвести определенные действия с помощью макроса (файл "Предыдущая таблица").
В текущей таблице (прилагаю) мне также необходимо найти человека в табличке 1 с ФИО как в табличке 2 и если есть совпадения вставить номер телефона в столбец F. Я пытаюсь изменить макрос под текущую таблицу, но постоянные ошибки явно дают понять, что что-то не так делаю.
Заранее благодарю за ответы.
Был файл, в котором необходимо было произвести определенные действия с помощью макроса (файл "Предыдущая таблица").
Код |
---|
Sub test() Dim arr(), i&, itxt Dim dic As Object Set dic = CreateObject("Scripting.Dictionary") With Лист1 arr = .Range(.[e2], .[f2].End(xlDown)).Value For i = 1 To UBound(arr) dic.Item(CStr(arr(i, 1))) = arr(i, 2) Next i Erase arr arr = .Range(.[c2], .[a2].End(xlDown)).Value For i = 1 To UBound(arr) itxt = Trim(arr(i, 1)) & " " & Trim(arr(i, 2)) If dic.exists(itxt) Then arr(i, 3) = dic.Item(itxt) Next i .Range("a2").Resize(UBound(arr), UBound(arr, 2)).Value = arr End With End Sub |
В текущей таблице (прилагаю) мне также необходимо найти человека в табличке 1 с ФИО как в табличке 2 и если есть совпадения вставить номер телефона в столбец F. Я пытаюсь изменить макрос под текущую таблицу, но постоянные ошибки явно дают понять, что что-то не так делаю.
Код |
---|
Sub test() Dim arr(), i&, itxt Dim dic As Object Set dic = CreateObject("Scripting.Dictionary") With Лист1 arr = .Range(.[h2], .[i2], .[j2], .[k2], .[l2].End(xlDown)).Value For i = 1 To UBound(arr) dic.Item(CStr(arr(i, 1))) = arr(i, 2) Next i Erase arr arr = .Range(.[f2], .[a2], .[b2], .[c2], .[d2].End(xlDown)).Value For i = 1 To UBound(arr) itxt = Trim(arr(i, 1)) & " " & Trim(arr(i, 2)) If dic.exists(itxt) Then arr(i, 3) = dic.Item(itxt) Next i .Range("a2").Resize(UBound(arr), UBound(arr, 2)).Value = arr End With End Sub |
Заранее благодарю за ответы.