каков синтаксис для написания vlookup в vba, где вы хотите вернуть несколько столбцов? Мой код:
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
EDIT: дополнительные разъяснения
Если бы вы делали это с обычным vlookup, это выглядело бы так:
Выберите диапазон, скажем, A1:E1, затем
=VLOOKUP(G2,range,{3,4,5,6,7},0)
Так что {3,4,5,6,7} будет возвращать результаты нескольких столбцов, когда вы нажмете Ctrl+Shift+Enter (они попадут в A1, B1 и т. д., которые я выбрал перед выполнением vlookup. Как я делаю это в VBA?Пожалуйста, дайте мне знать, если мне нужно предоставить дополнительные разъяснения, извините.
WorksheetFunction
работает так же, как функция рабочего листа; если это невозможно сделать с помощью ВПР, это невозможно сделать с помощью ВПР в VBA. - person Mathieu Guindon   schedule 21.01.2015