Что такое синтаксис для записи vlookup в vba, где вы хотите вернуть несколько столбцов? Мой код:VBA эквивалентен VLOOKUP с несколькими «col_index_num» s
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: Дальнейшее уточнение
Если вы делали это с нормальным ВПР это будет выглядеть так:
Выберите диапазон, скажем A1: E1, то
=VLOOKUP(G2,range,{3,4,5,6,7},0)
Для того, чтобы {3,4,5,6,7} вернул результаты нескольких столбцов, когда вы нажмете Ctrl + Shift + Enter (они отправятся в A1, B1, и т. д., которые я выбрал перед выполнением vlookup. Как мне это сделать в VBA? Пожалуйста, дайте мне знать, если мне нужно предоставить дополнительные разъяснения, извините.
Можете ли вы предоставить какое-то дополнительное разъяснение? Вы пытаетесь сразу заполнить пять ячеек? – user3561813
И как бы VLOOKUP с «несколькими col_index_num» даже работал как обычная формула Excel? 'WorksheetFunction' работает так же, как функция рабочего листа; если это невозможно сделать с помощью VLOOKUP, это невозможно сделать с помощью VLOOKUP * в VBA *. –
добавлено разъяснение, извините – msim