在VBA excel 2007中使用VLOOKUP引用另一个工作表

我知道很多问题都是围绕这个问题提出的,但是我找不到任何对我有用的东西,因为我引用了另一个工作表(Lookuptable)。

下面是用excel写的原始的VLOOKUP,这个工作正常:

=VLOOKUP(A1,Lookuptable!A:B, 2, FALSE) 

下面是我的脚本的一个剥离的伪代码版本,用VBA vlookup代码提供了这个问题。 我基本上正在寻找上述的工作VBA版本!

 Sub Test() Dim rng As Range Dim result As Variant Dim i As Long Dim rng2 As Range Dim arg4 As Boolean Dim arg1 As Long, arg3 As Long With ActiveSheet Set rng = Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With rng.Cells(i, 2) = Application.WorksheetFunction.VLookup(i, Sheets(Lookuptable).Range("A1:B1"), 2, False) End Sub 

可能值得注意的是,我得到一个下标超出范围错误或一个无效的过程调用或参数错误。

尝试这个:

 Sub Test() Dim rng As Range Dim i As Long With ActiveSheet Set rng = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row) For i = 2 to rng.Rows.Count rng.Cells(i, 2) = Application.WorksheetFunction.VLookup(.Cells(i,1), Sheets("Lookuptable").Range("A:B"), 2, False) Next End With End Sub