我正在尝试使用VBA Vlookup
在同一工作簿中使用另一个工作表中的某些字段填充工作表单元格而且我被卡住了。
工作表用户拥有以下数据,A列包含Login
列B包含Number
;它是空的,但目标是用另一个工作表中的数据填充它:
Login Number
===============
ffff
bbbb
cccc
dddd
eeee
aaaa
在“数据”工作表中,我得到了以下内容:
Login Number
===============
aaaa 1234
bbbb 1235
cccc 1236
dddd 1237
eeee 1238
ffff 1239
目前我正在使用此代码
Sub VL()
Dim Login As Range
Set Login = Sheets("Users").Cells(2, 1)
Do Until Len(Login) = 0 'This will loop until the first empty cell
Login.Offset(0, 1).FormulaR1C1 = Application.WorksheetFunction.VLookup( _
Sheets("Users").Range("$A:$A"), [Table], 2, False)
Calculate
Login.Offset(0, 1).Value = Login.Offset(0, 1).Value
Set Login = Login.Offset(1, 0)
Loop
End Sub
结果并不像预期的那样:
Login Number
===============
ffff #N/A
bbbb
cccc
dddd
eeee
aaaa
我在论坛上搜索过但没有找到任何可以帮我解决的问题。
答案 0 :(得分:4)
Sub VL()
With Sheets("Users").Range("A2", Sheets("Users").Cells(Rows.Count, "A").End(xlUp))
.Offset(, 1).Formula = "=VLOOKUP(A" & .Row & ",'Data'!$A:$B,2,FALSE)"
.Offset(, 1).Value = .Offset(, 1).Value
End With
End Sub