在要返回多列的vba中编写vlookup的语法是什么?我的代码:
For i = 2 To lastrow
wsTEMP.Range(Cells(i, 16), Cells(i, 20)) = _
Application.WorksheetFunction.VLookup( _
Workbooks("template.xlsm").Worksheets("Qry").Cells(i, 1), _
Workbooks("template.xlsm").Worksheets("Qry").Range("A:G"), _
XXXhow do I write this??XXX, _
0)
Next i
编辑:进一步澄清
如果您使用普通的vlookup执行此操作,它将如下所示:
选择一个范围,让我们说A1:E1,然后
=VLOOKUP(G2,range,{3,4,5,6,7},0)
当你按下Ctrl + Shift + Enter键时,{3,4,5,6,7}会返回多列的结果(它们会进入我之前选择的A1,B1等)做vlookup。如何在VBA中做到这一点?如果我需要提供进一步的说明,请告诉我。抱歉。
答案 0 :(得分:0)
两种可能的方法。
1)如果您要录制一个宏,它将为您提供Range对象的FormulaArray方法:
Range("I4:M4").FormulaArray = "=VLOOKUP(G2,range,{3,4,5,6,7},0)"
2)或者,您可以使用Application.Evaluate
Range("I6:M6") = Application.Evaluate("VLOOKUP(G2,range,{3,4,5,6,7},0)")