我尝试使用 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
我在论坛上搜索过,但没有找到任何可以帮助我解决此问题的内容。
最佳答案
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
关于excel - 如何使用 VBA Vlookup 填充单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476793/