参考FormulaR1C1中的范围变量进行VLOOKUP

时间:2018-01-23 16:21:09

标签: excel vba excel-vba

我正在尝试编写一个宏,该宏将采用粘贴在当前表下方的列表,并基本上在表的A列中执行这些值的查找。

即我有一些看起来像这样的东西

ID    Date
1     11/01/2017
2     12/01/2017
3     14/01/2017
... etc
then a gap of one line, followed by the list of ids I want to look up, i.e
2
3

我希望结果看起来像

ID    Lookup    Date
1     #N/A      11/01/2017
2       2       12/01/2017
3       3       14/01/2017

到目前为止,我有以下内容:

Sub findIDinlist()

Range("B1").EntireColumn.Insert
Range("B1").EntireColumn.NumberFormat = "General"
Range("B1").Value = "Lookup"
Range("A1").End(xlDown).Offset(2, 0).Select

Range(Selection, Selection.End(xlDown)).Select

Dim list As Range

Set list = Selection

Range("B2").FormulaR1C1 = "=vlookup(R[0]C[-1],list,1,FALSE)"

' At this stage I am happy to do the autofill myself
End Sub

我似乎无法引用公式中的范围变量,我想将其称为绝对变量。我只是在vlookup上遇到#NAME?错误,因为它试图引用它不知道的对象(列表)!目前我只需使用光标键和 Ctrl Shift 选择列表,然后在完成VLOOKUP之前按 F4 ,但是决定我做的其中一件事我应该只有一个宏键盘来为我做这件事!

欢迎提出任何建议,如果我在这里走错了路,我很乐意撕掉我在这里尝试做的并从头开始编写它!

提前致谢。

0 个答案:

没有答案