У меня проблемы с ВПР в моем VBA. Вот пример кода, который я использую:
Sub Macro15()
'
' Macro15 Macro
Dim LR As Long
LR = Cells(Rows.Count, "A").End(xlUp).Row
Range("B1:B" & LR).FormulaR1C1 = _
"=VLOOKUP(RC[-1],'https://internal_sharepoint_address
/[Vendor_Information.xlsx]Sheet1'!R3C3:R150C18,4,FALSE)"
Range("C1:C" & LR).FormulaR1C1 = _
"=VLOOKUP(RC[-2],'https://internal_sharepoint_address
/[Vendor_Information.xlsx]Sheet1'!R3C3:R150C18,5,FALSE)"
With Range("B1:C" & LR)
.Value = .Value
End With
End Sub
Проблема в том, что значения в столбцах B и C (формулы ВПР) возвращают значение # N / A.
Однако, если я остановлю код до преобразования формулы в значения (строка «С диапазоном (« B1: C »& LR)»), формула ВПР вернет правильные значения.
Также странно - если я очищаю содержимое столбцов B и C и повторно запускаю приведенный выше код, значения возвращаются нормально. Однако, если я попытаюсь добавить второй цикл в VBA, это НЕ сработает.
Любая мудрость, которую может дать кто угодно, будет огромным подспорьем. Я застрял на этом долгое время, и я просто на грани своего остроумия.
Всем спасибо, Дэвид