2

我正在尝试使用 VBA 在同一工作簿上的另一个工作表中填充一些字段的工作表单元格,但Vlookup我被卡住了。

工作表用户有以下数据,ALogin列包含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

我在论坛上搜索过,但没有找到任何可以帮助我解决这个问题的方法。

4

1 回答 1

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
于 2013-08-27T23:29:18.350 回答