Можно ли объединить массив 1d Excel VBA с массивом 2d

#excel #vba

#преуспеть #vba

Вопрос:

У меня есть два массива:

 Dim arrA(1, 5) Variant
Dim arrB(10, 5) Variant
 

Я хотел бы объединить массивы A и B, чтобы создать массив C, новый массив размером 10 на 10.

Комментарии:

1. arrA имеет 1 строку и 5 столбцов. arrB имеет 10 строк и 5 столбцов. Если вы создадите arrC, содержащий 10 строк, 10 строк arrB будут использовать все строки. Куда пойдет ряд Арры? Если в arrC было 11 строк, вы можете поместить в него строки arrA и B. arrA и B имеют по 5 столбцов. Как бы вы заполнили 10 столбцов arrC? Не могли бы вы сбросить столбцы arrA в col 1-5 и столбцы arrB в 6-10?

2. @zedfox Массив C будет содержать 10 строк и 10 столбцов. Как вы предположили, Arr B будет основой Arr C изначально 10 строк и 5 столбцов, следующий столбец с 1 по 5 массива A станет столбцами с 6 по 10 для каждой из 10 строк Arra C.

3. Так в чем же проблема? Вы можете сделать это с помощью цикла. Обратите внимание, что у вас есть 2 2-d массива, а не один 2-d и один 1-d массив. Кроме того, поскольку значение lbound по умолчанию равно нулю, в вашем новом 10×10 будет отсутствовать одна строка из arrB

4. Обратите внимание , что в вашем коде не хватает 2 As прямо перед Variant like Dim arrA(1, 5) As Variant .