Функция CombineArrays объединяет 2 двумерных массива ОДИНАКОВОЙ ШИРИНЫ в один массив
(второй массив "дописывается" ниже первого, путем добавления строк из второго массива в первый)
Функция возвращает массив той же ширины, что и исходные, а вертикальная размерность возвращаемого массива равна сумме количества строк исходных массивов.
В случае, если один из массивов не задан, функция возвращает другой заданный массив (без изменений)
ВНИМАНИЕ: все размерности массивов 1 и 2 должны совпадать (кроме первой размерности - по высоте)
Подразумевается, что индексы массивов начинаются с 1 (директива Option Base 1)
Sub ПримерОбъединенияМассивов()
Arr1 = [a5:c10].Value ' массив размерами 6 * 3
Arr2 = [a24:c26].Value ' массив размерами 3 * 3
Arr3 = [a55:c62].Value ' массив размерами 8 * 3
ОбъединённыйМассив12 = CombineArrays(Arr1, Arr2)
Debug.Print "Количество строк после объединения массивов 1 и 2: " & _
UBound(ОбъединённыйМассив12) ' результат: 9 (6+3)
ОбъединённыйМассив123 = CombineArrays(Arr1, CombineArrays(Arr2, Arr3))
Debug.Print "Количество строк после объединения массивов 1, 2 и 3: " & _
UBound(ОбъединённыйМассив123) ' результат: 17 (6+3+8)
End Sub