Страницы: 1
RSS
Копирование элементов виртуального массива в другой виртуальный массив
 
Добрый день. В VBA возможно копирование или перенесение элементов  виртуального массива в другой виртуальный массив что бы было похоже примерно на такое

Arr2 ((4, 10),(4, 10))=Arr1 ((2, 2),(2, 5))???

Циклом это я могу сделать. Другой способ есть?
Быстрее молнии, быстрее ветра, быстрее калькулятора
 
Выгрузить на лист и загрузить в другой массив. С многомерным - та еще головоморока.
Иначе - циклом. Чем он Вас не устраивает?
 
vikttur, все устраивает. Думал есть другие варианты. Перебирать циклом к примеру 1000 элементов массива как то не интересно, а так одним махом вставил и все и прыгать из цикла в цикл не нужно.
Быстрее молнии, быстрее ветра, быстрее калькулятора
 
Цитата
Borrusale написал:
Другой способ есть?
Можно скопировать кусок памяти с одного места в другое. Поиск по RtlMoveMemory.
Правда, если массив содержит значения типа String, надо проявлять осторожность, т.к. в этом случае в массиве содержатся только ссылки на структуры BSTR, а сами эти структуры, т.е. строки, хранятся в другом месте.
 
Цитата
Borrusale написал: что бы было похоже примерно на такое
Примерно похоже
Код
Sub Borrusale()
    ARR_1 = Range("A2:D11").Value
    ARR_2 = Range("F2:I11").Value
    ARR_2(5, 2) = ARR_1(5, 2)
    Range("K2").Resize(10, 4) = ARR_2
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Это только для одного элемента массива )) Я так понял, автор хотел бы одним махом несколько элементов.
 
Можно попробовать поиграть вложенными Application.Index
Здесь пример
Согласие есть продукт при полном непротивлении сторон
 
ИМХО: в #1 массивы-то разноразмерные,,, Это можно запихать без цикла?
Страницы: 1
Наверх