VBA объединяет записи массивов разного размера - PullRequest
0 голосов
/ 16 ноября 2018

Я хотел бы объединить записи двух массивов и сохранить слияния в новом массиве.

Например:

array1 = ("Name1", "Name2")
array2 = ("top","tip","tap")

Результат должен выглядеть следующим образом:

array3 = ("Name1top","Name1tip","Name1tap","Name2top","Name2tip","Name3tap")

Я пытался использовать for-slopes, но мне почему-то не удалось получить результат, который я искал.

1 Ответ

0 голосов
/ 16 ноября 2018

Фрэнк, один из способов сделать это - вложить 2 петли (склоны ??)

'Create the two files starting at index 0
array1 = Split("Name1,Name2", ",")
array2 = Split("top,tip,tap", ",")

'get the length of the arrays
len1 = UBound(array1) - LBound(array1) + 1 
len2 = UBound(array2) - LBound(array2) + 1

'Create an array which holds all combinations. There are len1*len2 times of these
ReDim array3(0 To len1 * len2 - 1)

'Build all combinations with 2 nested loops
For i = LBound(array1) To UBound(array1)
    For k = LBound(array2) To UBound(array2)
        array3(i * len1 + k) = array1(i) & array2(k) 'the index of array3 is a bit tricky, take a bit of time why it is constructed this way
    Next k
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...