外部工作簿中的VBA vlookup

时间:2014-08-18 09:17:32

标签: excel vba excel-vba vlookup

我正在努力让我的代码正常工作,但它仍然显示出一些错误。代码是从workbook1打开workbook2并在workbook1中插入vlookup函数,它将从workbook2中的workbook1中搜索值,代码如下:

Application.ScreenUpdating = False
Dim fNameAndPath As Variant, wb As Workbook
fNameAndPath = Application.GetOpenFilename(Title:="Wybierz plik do kontroli rabatu")
If fNameAndPath = False Then Exit Sub
Set wb = Workbooks.Open(fNameAndPath)

ThisWorkbook.Activate
Sheets("ICOS").Activate
Set lookupvalue = ThisWorkbook.Sheets("sheet1").Cells(3, 3)
Set rngLookupRange = wb.Worksheets("sheet1").Range("$A:$P")

   Range("C3:C300") = Application.WorksheetFunction.VLookup(lookupvalue, rngLookupRange, 16, False)

这段代码有什么问题?显示“无法获取工作表函数类的vlookup属性”

感谢

1 个答案:

答案 0 :(得分:0)

这里有两个问题:

lookupvalue不应该是一个对象,而应该是一个值,例如字符串,double,integer。 将相应的行更改为

lookupvalue = ThisWorkbook.Sheets("sheet1").Cells(3, 3).value

其次,Vlookup函数只返回一个值(或#N / A)。它不返回范围。所以将下一行更改为

Range("C4").value = Application.WorksheetFunction.VLookup(lookupvalue, rngLookupRange, 16, False)