Рецепт

Записать массив на лист за одно действие

Выгрузка из кода по ячейкам занимает минуты.

Соберите двумерный массив, выключите ScreenUpdating и запишите блок. Даты в Value2 — числа; задайте NumberFormat после записи.

Код

Sub WriteBlock(ws As Worksheet, startCell As Range, data As Variant)
    Dim nRows As Long, nCols As Long
    nRows = UBound(data, 1) - LBound(data, 1) + 1
    nCols = UBound(data, 2) - LBound(data, 2) + 1
    startCell.Resize(nRows, nCols).Value2 = data
End Sub

Связанные члены API