Попытка создать функцию, которая будет принимать аргументы массива и выводить себя в конце как массив.
Псевдокод:
Function CheckCommonPartOfArrays(ByRef arrayA as Variant, ByRef arrayB as Variant) as Variant
Dim aTemp()
Dim itemA as Variant
Dim itemB as Variant
Dim i
For Each itemA in arrayA
For Each itemB in arrayB
If itemA = itemB Then
Redim Preserve aTemp(i)
aTemp(i) = itemA
i = i + 1
End If
Next itemB
Next itemA
' And here is the problem, now trying to copy this
' temporary array Temp() into the array CheckCommonPartOfArrays,
' which is declared as Variant in the beginning of the function,
' but it doesn't work.
CheckCommonPartOfArrays = aTemp
End Function
В окне LOCALS онаКажется, что CheckCommonPartOfArrays на самом деле является массивом, и он содержит элементы, которые я хочу, однако, когда я пытаюсь скопировать его в другой массив ИЛИ даже отладить. выводить значения, каждый раз, когда я пытаюсь вызвать его, он вызывает как функцию и сообщаетмне этот «аргумент не является обязательным» - имеется в виду массив ByRefA как Variant, массив ByRefB ... и т. д. '
Есть ли способ сделать это?
Я хотел бы, чтобы функция взялав двух одномерных массивах в качестве аргументов, а затем в конце я хотел бы, чтобы сама функция была результирующим массивом, который я мог бы использовать позже в коде.