来自不同excel文件的VBA VLOOKUP具有不同的名称

时间:2014-10-15 09:59:29

标签: excel vba excel-vba vlookup

您好我在其他excel电子表格中使用不同的excel文件进​​行vlookup。现在我的问题是名字一直在变化。

Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],[TEST2.xlsx]Sheet1!C1:C8,8,FALSE)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B" & Range("A" & rows.Count).End(xlUp).Row)
Range("B2:B" & Range("A" & rows.Count).End(xlUp).Row).Select

所以基本上它在TEST2.xlsx中查找它需要的数据,而不是放在我原来的excel文件的列表中。但是每次我要使用这个宏时,TEST2都会一直在变化

我该怎么做?

1 个答案:

答案 0 :(得分:1)

不完全确定你需要什么但是如果我是对的你可以这样做。
值得注意的是,没有必要先选择单元格,而是可以直接引用它们。

Sub lookupSub(dataFile)
Range("B2").FormulaR1C1 = "=VLOOKUP(RC[-1],[" & dataFile & "]Sheet1!C1:C8,8,FALSE)"
Range("B2").AutoFill Destination:=Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row)
Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).Select
End Sub


然后您可以按如下方式调用它:

Call lookupSub("TEST2.xlsx")


或者,如果它在循环内工作,你可以做这样的事情:

For i = 1 To 10
    Call lookupSub("TEST" & i & ".xlsx")
Next i