将vlookup用于未指定的列数

时间:2019-11-21 06:08:36

标签: excel vba vlookup

您有这段代码可以对大约600列使用vlookup,当我使用该代码时就可以使用

wslookup.range("D2:D600").Formula = "=VLOOKUP(C2,'PM FLEET'!$A$1:$D$603,4,FALSE)

但是当我尝试使用xldown时不起作用-我一直在获取

  

错误1004

在最后一次输入之前,还有其他方法可以使用vlookup吗?

Set wslookup = Workbooks("bdncasemacro.xlsm").Worksheets("Working")
wslookup.Range(Range("D2"), Range("D2").End(xlDown)).Formula = "=VLOOKUP(C2,'PM FLEET'!$A$1:$D$603,4,FALSE)"

2 个答案:

答案 0 :(得分:0)

如果工作表“ D”中的D列为空,则将公式填充到最后一行,即1,048,576行。建议您从工作表“ PM舰队”中捕获所需的最后一行,即finalrow = Workbooks(“ bdncasemacro.xlsm”)。Sheets(“ PM FLEET”)。Range(“ D2”)。End(xlDown).Row

并使用finalrow作为“工作”表中的结束范围

答案 1 :(得分:0)

您未指定Range("D2")

的位置
With wslookup
    .Range(.Range("D2"), .Range("D2").End(xlDown)).Formula = "=VLOOKUP(C2,'PM FLEET'!$A$1:$D$603,4,FALSE)"
End With