Excel и VBA не являются моими коньками, хотя и мой уровень владения ими не ниже среднего. Но прибегаю к ним достаточно редко. Потому и наступаю на грабли. Недавно столкнулся с тем, что в VBA не смог определить размер массива строк после преобразования строки в массив строк функцией Split.

Перевести длинную строчку в массив можно функцией Split.

Согласно документации, размер массива можно определить функцией Length. Но в случае с массивом, полученным с помощью функции Split, этого сделать нельзя. На строке "textArray.Length" будет сообщение об ошибке "Compile error: Invalid qualifier".

Compile error: Invalid qualifier

Compile error: Invalid qualifier

 

Найти длину массива можно через поиск наименьшего и наибольшего доступных индексов для указанного измерения массива: LBound и UBound.

Отмечу, что функция Split возвращает массив с нулевым основанием (т.е. первый элемент имеет индекс 0), потому в этом случае можно ограничиться определением только UBound(textArray).