
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Sub aa()
On Error Resume Next
Dim arr1 As Variant
Dim arr2 As Variant
arr1 = Range("a1:a5")
ReDim arr2(1 To 5, 1 To 1)
CopyMemory arr2(1, 1), arr1(1, 1), 32 '这个为啥填80就退出啊!填32没有问题,48和64偶尔可以,没错误提示,闪退
Debug.Print arr1(1, 1)
Debug.Print arr1(5, 1)
Debug.Print arr2(1, 1)
Debug.Print arr2(5, 1)
Debug.Print VarPtr(arr1(1, 1)) - VarPtr(arr1(5, 1)) & " " & VarPtr(arr2(1, 1)) - VarPtr(arr2(5, 1))
End Sub