Vlookup函数中的VBA xlDown范围

时间:2014-05-21 18:08:22

标签: vba excel-vba excel

我有一个VBA vlookup函数包含在一个更大的宏中,但我现在被要求调整它以适应具有未知行数的表。这一行的作用是将VLookup的结果粘贴到一个单元格中。此行适用于270行的固定大小表:

 With Worksheets("Dashboard")
.Range("d2").Offset(x, 0) = Application.WorksheetFunction.VLookup( _
   .Range("c2").Offset(x, 0), Worksheets("Backend").Range("a2:b271"), 2, False)

我需要更改的是“工作表(”后端“)。范围(”a2:b271“)”行的一部分到动态大小的表。我对Excel VBA立场中的范围不太熟悉。

我拥有的是:

With Worksheets("Dashboard")
.Range("d2").Offset(x, 0) = Application.WorksheetFunction.VLookup( _
         .Range("c2").Offset(x, 0), _
         Worksheets("Backend").Range("a2", .Range("b2").End(xlDown)), 2, False)

基本上,我知道该表将来自A:B,但我试图让它选择整个行A2:B ???。

我非常感谢解决这个菜鸟错误最快的人。

1 个答案:

答案 0 :(得分:2)

Dim rng as Range

With Worksheets("Backend")
    Set rng = .Range( .Range("A2"), .Cells(Rows.Count, 2).End(xlUp) )
End With

With Worksheets("Dashboard")

    .Range("d2").Offset(x, 0) = _
     Application.WorksheetFunction.VLookup(.Range("c2").Offset(x, 0), rng, 2, False)

End With