Несмотря на то, что это необычное использование для Excel, при условии, что каждая операция конкатенации требует памяти, просто освободите часть памяти перед тем, как закончится.
Не так уж и элегантно, хотя вы могли бы скопировать и вставить 2000 строк в себя в качестве значений. При желании также можно удалить A2: AC2002 (использованные данные, которые могут не понадобиться). Отключение автоматического расчета также может помочь.
С помощью Macro из устройства записи макросов просто запишите макрос, в котором вы делаете это [относительно расположено]. Начните с выбора формулы, которую вы сделали.
Очень сырой код:
Sub Macro5()
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Dim i As Long
For i = 0 To 32
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1:A2000").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(-1, 0).Range("A1:A2000").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.Offset(2000, 0).Range("A1").Select
Next i
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub