Как выбрать конкретный элемент из массива?

#arrays #excel #vba #sequence

#массивы #excel #vba #последовательность

Вопрос:

Давайте рассмотрим следующий код, который создает массив следующим образом :

введите описание изображения здесь

 Function my_fun(a As Double, b As Double, n)

    Dim arr() As Variant
    ReDim arr(n - 1)
    Dim i As Integer

    arr(0) = 0
    arr(1) = 1
    For i = 2 To n - 1
        arr(i) = a * arr(i - 1)   b * arr(i - 2)
    Next i
    
    my_fun = Application.Transpose(arr)
    
End Function
 

Этот код возвращает массив, в котором следующие элементы являются значениями следующей последовательности. Как я могу заставить свою функцию возвращать последний элемент этого массива вместо просто массива? Например :

введите описание изображения здесь

В этом случае код должен возвращать 4, потому что это самый последний элемент массива. Знаете ли вы, как это можно выполнить?

Комментарии:

1. Вы имеете в виду my_fun = arr(Ubound(arr)) ? Или arr(n-1) ?

2. Отлично! Большое вам спасибо ;))

Ответ №1:

Чтобы вернуть последний элемент массива:

 my_fun = arr(Ubound(arr))
 

или поскольку верхняя граница равна n - 1 :

 my_fun = arr(n - 1)