#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
likeDim arrA(1, 5) As Variant
.