【发布时间】:2019-03-02 17:37:06
【问题描述】:
我有一个宏,它通过在列 J 中获取供应商名称来执行 vlookup,并在列 C 和 D 中的我的 vlookup 的表数组中查找供应商编号。但是,当我运行宏时,发生了一些事情我的 vlookup 明显错误。请参阅附图中的公式。显然,我的 vlookup 中的表数组部分无法正常工作。实际上,我希望我的 vlookup 从原点 C5 返回一个固定的表数组(我的意思是绝对参考和美元),并将 D 列中的最后一行作为限制点(我的意思是我的表数组的限制应该是D 列的最后一行)。
请看下面我的 VBA 代码,我的 vlookup 中的这部分 VBA 代码似乎是错误的 : C4" & LastRow & "
非常感谢您的帮助。 哈维
Sub insertvlookuptogetmyvendornumber()
Dim LastRow As Integer
LastRow = Range("D" & Rows.Count).End(xlUp).Row
PenultimateLastRow = Range("J" & Rows.Count).End(xlUp).Offset(-1, 0).Row
Range("I4").Select
ActiveCell.FormulaR1C1 = "Vendor number"
Range("I5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],R5C3:C4" & LastRow & ",2,0)"
Selection.AutoFill Destination:=Range("I5:I" & PenultimateLastRow), Type:=xlFillDefault
End Sub
【问题讨论】:
-
供应商名称列表是否有限?如果是这样,为什么要使用 VBA?如果您无法维护查找表并只需将历史表存储到字典中,然后循环数据透视表的这两列,如果键不存在,则将项目添加到字典中。然后将字典写回历史表区域。
-
非常感谢QHarr的回复,其实在我附上的图片上,我只是截取了一小部分供应商名称和供应商编号,实际上列表要长得多...此外,我尝试在 VBA 中将其自动化,因为这是我必须定期做的工作,不幸的是,由于我的错误查找,我的宏无法工作...