Хорошо, мне стало скучно, и я решил просто написать это очень быстро.
Private Sub this()
Dim pickUp As Variant
Dim newArr() As String
Dim rowC As Long, colC As Long, i As Long, j As Long, z As Long
rowC = ThisWorkbook.Worksheets("Sheet1").UsedRange.Rows.Count
z = rowC
colC = ThisWorkbook.Worksheets("Sheet1").UsedRange.Columns.Count
ReDim newArr(1 To rowC, 1 To colC)
pickUp = ThisWorkbook.Worksheets("Sheet1").UsedRange
For i = LBound(pickUp, 1) To UBound(pickUp, 1)
For j = LBound(pickUp, 2) To UBound(pickUp, 2)
newArr(rowC, j) = pickUp(i, j)
Next j
rowC = rowC - 1
Next i
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet2")
With ws
ws.Range(.Cells(1, 1), .Cells(z, colC)).Value2 = newArr
End With
End Sub