Я пытаюсь упростить мой код при записи данных из массива в электронную таблицу Excel.У меня есть массив из 2 строк и 49 столбцов (данные представляют собой даты, используемые для горизонтальной части в ряде графиков).Дата адаптируется на основе пользовательского ввода и затем записывается обратно в электронную таблицу Excel.В настоящее время я написал ниже код для загрузки данных в массив и записи их обратно в электронную таблицу (и она работает как задумано).
Dim LocalArray() As Variant
LocalArray = Sheets("Data").Range("L4003:BH4004").Value2
.Range("M280").Resize(UBound(LocalArray, 1), UBound(LocalArray, 2)) = LocalArray
.Range("M336").Resize(UBound(LocalArray, 1), UBound(LocalArray, 2)) = LocalArray
.Range("M394").Resize(UBound(LocalArray, 1), UBound(LocalArray, 2)) = LocalArray
Выше приведена только часть кода, хотя мне нужно включитьмассив в 15 разных местах (графики).Поэтому я повторяю одну и ту же строку кода много раз, что кажется очень неэффективным.
Я пытался использовать приведенную ниже простую строку кода, чтобы записать данные массива обратно в электронную таблицу:
.Range("M280:BI281,M336:BI337,M394:BI395").Value2 = LocalArray
Однако, запись данных массива с использованием приведенного выше кода приводит к тому, что каждый второй диапазон отображается неправильно с ячейками, включая N / A (см. Рисунок ниже).

Как мне написать этот код самым простым способом (и требующим как можно меньшей вычислительной мощности от ПК пользователя)?
Большое спасибо!