2016-06-02 2 views
0

Я хочу, чтобы иметь возможность передавать в массив, делать что-то со значениями в нем, а затем возвращать результирующий массив в функцию.VBA: передать и вернуть массив в функции

Есть ли другой способ сделать это без использования варианта?

Я знаю, что это не работает, но я хочу, чтобы выглядеть следующим образом: (при условии, аранжировка и Test() один и та же длина)

Function Test()(arr() As Integer) As Integer 
    For i = 0 To UBound(arr) 
     Test(i) = arr(i) + 1 
    Next i 
End Function 

ответ

0

Что-то вроде этого:

Function AddOne(arr() As Integer) As Integer() 
    Dim i, rv() As Integer 
    ReDim rv(LBound(arr) To UBound(arr)) 
    For i = LBound(arr) To UBound(arr) 
     rv(i) = arr(i) + 1 
    Next i 
    AddOne = rv() 
End Function 
Смежные вопросы