我一直在尝试在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而是'按产品的库存报告'。然而,它仍然在下标超出范围错误。
答案 0 :(得分:0)
使用Set currwor = ActiveWorkbook
您将当前活动的工作簿分配给currwor
,但是之前您提到它应该是一个不同的工作簿?这意味着你应该有一行Set currworb = Workbooks("desired workbook name")
?
答案 1 :(得分:0)
是的 - 白痴错误。正如所指出的那样,工作表名称不正确,问题是在执行中我跳过了将工作表分配给currwor的位。
足够白痴,我应该考虑在这里删除这篇文章。