VBA Vlookup使用2种不同的工作簿

时间:2013-08-02 08:32:34

标签: excel vba vlookup

我必须使用Vlookup从1个工作簿中获取一些信息。原因是我有75个单元需要填写另一个工作簿的价格,但在另一个工作簿中不会总是有75个价格。

Sub Update()

Dim wb1 As Workbook, wb2 As Workbook

Set wb1 = ActiveWorkbook

' Open Workbook "Verzamelstaat" '
rowl = ActiveCell.Row
linkl = Cells(rowl, 16).Value
Application.Workbooks.Open (linkl)
Filenamel = Mid(linkl, InStrRev(linkl, "\") + 1, Len(linkl))
Set wb2 = Workbooks(Filenamel)

' Copy data to other workbook '

wb1.Sheets(1).Range("AY4").Value = Application.VLookup(wb1.Sheets(1).Range("AY2").Value, wb2.sheets(1).Range("A:A"), 2, False)

' Close Workbook "Verzamelstaat" '
Workbooks(Filenamel).Close savechanges:=False

End Sub

我遇到的问题是wb1.Sheets(1).Range("AY4")最终为#REF!。

AY2的值= 001,另一个工作簿的A列中的001到075。

我认为答案很简单,但我只是看不到......

1 个答案:

答案 0 :(得分:0)

更改VLookUp function的第二个参数,它引用A和B列:

... = Application.VLookup(wb1.Sheets(1).Range("AY2").Value, wb2.sheets(1).Range("A:B"), 2, False)