Определение количества измерений произвольного массива в коде VBA Excel с помощью пользовательской функции KolichestvoIzmereniy. Пример использования функции.
Функция KolichestvoIzmereniy
1 2 3 4 5 6 7 8 9 10 11 |
Function KolichestvoIzmereniy(myArr As Variant) As Long On Error GoTo Instruk Dim i As Long, m As Long i = 0 Do While True i = i + 1 m = UBound(myArr, i) Loop Instruk: KolichestvoIzmereniy = i - 1 End Function |
Функция KolichestvoIzmereniy с помощью бесконечного цикла вычисляет наибольшее значение каждого текущего индекса массива по порядку. Когда значение переменной i превысит количество доступных индексов, будет сгенерирована ошибка. Управление выполнением кода будет передано инструкции, следующей за меткой Instruk, которая выведет результат вычисления.
Длинное название функции определения количества измерений массива в коде VBA Excel дано для наглядности. Вы можете переименовать ее более коротким именем или оставить как есть.
Пример использования функции
1 2 3 4 5 |
Sub Primer() Dim arr1(2, 6, 8, 5) As Variant, n As Long n = KolichestvoIzmereniy(arr1) MsgBox n End Sub |
Если переменную массива объявить с пустыми скобками или без скобок, как обычную переменную, то функция KolichestvoIzmereniy вернет значение 0.
Оператор GoTo — это зло!
разберись с тем что он делает
вообще это выход из функции при возникновении ошибки к метке
Обсуждение закрыто.