2016-07-28 2 views
1

Предположим, что существует два 1D массивы каждый из них содержит 3 элемента, как следоватьUDF для конкатенации элементов двух массивов VBA Excel

A 1 
2 3 
B C 

Как один сцепить два массива в один массив с элементами

A1 
23 
BC 

Это легко сделать с помощью функции & или CONCATENATE, но как это сделать в массиве?

ответ

1

Итерация через массив и объединить их в третий:

Sub foooooo() 
Dim arr1() As Variant 
Dim arr2() As Variant 
Dim outArr() As Variant 
arr1 = Array("A", "2", "B") 
arr2 = Array("1", "3", "C") 

ReDim outArr(UBound(arr1)) 
For i = LBound(arr1) To UBound(arr1) 
    outArr(i) = arr1(i) & arr2(i) 
Next i 

Debug.Print Join(outArr, ",") 

End Sub 
+0

Это может быть полезно, если вам нужно использовать его более чем один раз, чтобы создать функцию. 'Функция concatArrays (arr1() As Variant, arr2() As Variant) As Variant' –

+0

@MichaelRusso Я дам OP сделать это, я просто дал доказательство концепции. Поскольку ОП не включал ни один из его собственных кодов, трудно сделать вывод о том, что нужно, и какой тип вывода и где. Поэтому я дал основу, на которой ОП может получить любую потребность. –

+0

Я не подразумевал, что вы не дали полного ответа, потому что вы это сделали. Я просто хотел дать другой вариант. Ему не нужен другой ответ, потому что вы уже ответили. –

Смежные вопросы