использовать переменную row_num application.index

Я пытаюсь получить два не последовательных столбца в двумерный массив, поэтому:

Диапазон источников выглядит следующим образом:

a 1 apple b 2 banana c 3 pear d 4 orange e 5 grape 

Я хочу, чтобы мой массив выглядел так:

Индекс 1- [a, apple]

Индекс 2- [b, банан]

Индекс 3- [c, груша]

и т.п.

Я использую это:

 vArr = Application.index(Range("A:AU"), [row(2:30)], Array(1, 4)) 

Это прекрасно работает, за исключением того, что мне всегда придется жестко кодировать мою последнюю строку. Я хочу это:

 vArr = Application.index(Range("A:AU"), [row(2:<lastRow>)], Array(1, 4)) 

Это не работает вообще. Я предполагаю, что не могу использовать переменную для представления run_num в функции индекса. Если я поставлю 0 in для row_num, он вернет только целую строку в один столбец. Как только я помещаю массив в непересекающиеся столбцы, он терпит неудачу.

У кого-нибудь есть предложения для меня?

Поэтому я понял это и хотел опубликовать ответ всем, кто задавался вопросом:

 Application.index(.Value2, _ .Worksheet.Evaluate("ROW(" & .Columns(1).Address & ")-1"), _ Array(1, 4)) 

По комментариям ниже:

Это лучшее представление ответа, который я попросил в первоначальном запросе:

 vArr = Application.index(Range("A:AU"), Application.Evaluate("Row(2:" & lastRow & ")"), Array(1, 4)) 
  • VBA: ошибка 9 при загрузке значений массива
  • как вставить значение ячейки Excel в массив String в VB.NET?
  • Как включить большой список чисел в код c ++
  • SUMPRODUCT не распознает массив OFFSET
  • Найти позицию последнего найденного значения в Excel
  • VBA - UDF обрабатывает массивы по-разному
  • Данные извлечения массива VBA
  • Добавление двух столбцов в Excel вместе с использованием двух разных списков
  • Возвращаемый массив в Excel XLL
  • Использование Averageif для 2 критериев в массиве в Excel
  • Как определить массив чисел в электронных таблицах Google
  • Давайте будем гением компьютера.