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

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.

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

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

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