Это недопустимо в качестве формулы:
user_id = "=VLOOKUP(Range(Cells(i, 3)),[RefUser.xlsx]Sheet1!$A:$B,2,FALSE)"
Примерно так будет работать:
user_id = "=VLOOKUP(C" & i & ",[RefUser.xlsx]Sheet1!$A:$B,2,FALSE)"
Затем установите это значение, используя .Formula
, а не .Value
Вы можете установить все это в один выстрел. Попробуйте это:
Dim i As Integer
Dim LastRow As Integer
Sub TestAdd()
With Worksheets("Sheet1")
.Range("B2", .Cells(.Rows.Count, 1).End(xlUp).Offset(0,1)).Formula = _
"=VLOOKUP(C2,[RefUser.xlsx]Sheet1!$A:$B,2,FALSE)"
End With
End Sub