Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As LongPtr)
Sub Main()
Dim r As Range: Set r = [a1].CurrentRegion
Dim n&, m&, arr, es As LongPtr
n = r.Rows.Count
m = (n + 1) \ 2
arr = Application.Transpose(r)
ReDim res(1 To 6, 1 To m)
es = VarPtr(res(2, 1)) - VarPtr(res(1, 1))
CopyMemory VarPtr(res(1, 1)), VarPtr(arr(1, 1)), r.Count * es