VBA使用Vlookup将值分配给ActiveCell,在另一个引用的工作簿中

时间:2014-12-05 11:07:53

标签: excel vba vlookup

我一直在尝试在VBA中使用vlookup,这很烦人。

ActiveCell.Value = Application.WorksheetFunction.VLookup(Cells(currentrow, 12), currwor.Worksheets("Sheet1").Range("R4C3:R160C10"), 6, False)

是代码

我使用的主要元素是 已经设置为引用另一个工作簿的currwor,我希望在那里使用vlookup。

然而,它不断发出错误,说下标超出范围。

我怀疑currwor是这方面的罪恶方 Set currwor = ActiveWorkbook(然后打开执行上述操作的工作簿,并为其分配工作簿名称。) 我不能使用特定的范围,因为我正在尝试在一个范围内的每个单元格上执行vlookup,并且该范围每次都会更改,并且currwor将在我获得的特定文档上执行但名称可能会有所不同(格式但是仍然是一样的。)

有任何建议吗?

编辑:一个错误是它不应该是sheet1而是'按产品的库存报告'。然而,它仍然在下标超出范围错误。

2 个答案:

答案 0 :(得分:0)

使用Set currwor = ActiveWorkbook 您将当前活动的工作簿分配给currwor,但是之前您提到它应该是一个不同的工作簿?这意味着你应该有一行Set currworb = Workbooks("desired workbook name")

答案 1 :(得分:0)

是的 - 白痴错误。正如所指出的那样,工作表名称不正确,问题是在执行中我跳过了将工作表分配给currwor的位。

足够白痴,我应该考虑在这里删除这篇文章。