Перейти к содержимому

VBA Excel. Количество измерений массива

Определение количества измерений произвольного массива в коде VBA Excel с помощью пользовательской функции KolichestvoIzmereniy. Пример использования функции.

Функция KolichestvoIzmereniy

Function KolichestvoIzmereniy(myArr As Variant) As Long
On Error GoTo Instr
  Dim i As Long, m As Long
  i = 0
    Do While True
      i = i + 1
      m = UBound(myArr, i)
    Loop
Instr:
  KolichestvoIzmereniy = i - 1
End Function

Функция KolichestvoIzmereniy с помощью бесконечного цикла вычисляет наибольшее значение каждого текущего индекса массива по порядку. Когда значение переменной i превысит количество доступных индексов, будет сгенерирована ошибка. Управление выполнением кода будет передано инструкции, следующей за меткой Instr, которая выведет результат вычисления.

Длинное название функции определения количества измерений массива в коде VBA Excel дано для наглядности. Вы можете переименовать ее более коротким именем или оставить как есть.

Пример использования функции

Sub Primer()
  Dim arr1(2, 6, 8, 5) As Variant, n As Long
    n = KolichestvoIzmereniy(arr1)
  MsgBox n
End Sub

Если переменную массива объявить с пустыми скобками или без скобок, как обычную переменную, то функция KolichestvoIzmereniy вернет значение 0.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.