Параметр a
представляет ваш массив. Функция вернет длину первого измерения массива, полученного в качестве аргумента:
Sub TestIt()
Dim MyArray As Variant
MyArray = Split("A,B,C,D,E,F", ",") 'create an Array of Length 6
MsgBox GetLength(MyArray) 'Output the length of the array, "6"
End Sub
Как уже отмечалось, это может дать неожиданные результаты для двумерного массива:
[[A][B][C]
[D][E][F]]
Это массив размером 2 на 3, поэтому GetLength
сообщит вам, что длина равна 2 . Тем не менее, число элементов в массиве равно 6
(Примечание: если это используется в VBA, то использование Integer
не дает никаких преимуществ вместо Long
, и я бы порекомендовал вам изменить эту строку - тем более что UBound
и LBound
оба возвращают Long
с. При слишком большом массиве вы можете получить ошибку переполнения!)