То, что я искал, но только моя более полная версия, учитывая, что массив уже заполнен:
Sub PasteArray(vTheArray As Variant)
Dim rPasteHere As Range
With ActiveWorkbook
Set rPasteHere = .Sheets("PayRoll").Range("A1").CurrentRegion 'Assign the region to use
With rPasteHere
.Clear 'Wipe the current region clean
Set rPasteHere = .Resize(UBound(vTheArray, 1) + 1, UBound(vTheArray, 2) + 1) 'Resize the region to your input
.FormulaArray = vTheArray 'Dump the array into the resized region
End With
End With
Set rPasteHere = Nothing 'Clean up!
End Sub
Помните, что массивы начинаются с нуля, поэтому +1 в функции .Resize. Для моего приложения я жестко закодировал название листа и диапазон, поэтому, естественно, rPasteHere зависит от человека.