Range / Свойство
Range.Resize
Изменить размер — Новый диапазон от левого верхнего угла с другим числом строк и столбцов.
Resize([RowSize], [ColumnSize]) As Range
Когда использовать
Запись массива: стартовая ячейка + Resize(UBound, UBound).
Версии и среда
Excel 2007–365
Минимальный пример
ws.Range("A2").Resize(nRows, nCols).Value2 = data
Типичный сбой
Resize(0, 1) недопустим. UBound пустого массива нужно проверять.
Рецепты
-
Прочитать диапазон в массив
Обойти тысячи ячеек в цикле слишком медленно.
-
Записать массив на лист за одно действие
Выгрузка из кода по ячейкам занимает минуты.
Рядом в Range
Find Copy PasteSpecial ClearContents SpecialCells Value Value2 Text