vba中:如何将一个数组的一串元素复制给另外一个数组

vb里面没有这样的函数,CopyMemory是可以的,看看下面的实例

vb6在我机子上用下面数据测试 时间差20倍左右,十万个数据就可以看出来了,我用的是一百万

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Command1_Click()

Dim arrA() As Long

Dim arrB() As Long

ReDim arrA(1 To 1000000)

ReDim arrB(2 To 1000000)

For i = 1 To 1000000

arrA(i) = i

Next i

'取得开机至今的毫秒数

T = GetTickCount

For i = 2 To 1000000

arrB(i) = arrA(i)

Next

MsgBox "用时" + Str$(GetTickCount - T) + "毫秒"

'我的机子用时200毫秒左右,机子老古董了比较慢不要见笑

ReDim arrB(2 To 1000000) '注意这行已经清空了上面的赋值

T = GetTickCount

CopyMemory arrB(2), arrA(2), LenB(arrA(1)) * 999999

MsgBox "用时" + Str$(GetTickCount - T) + "毫秒"

'我的机子用时10毫秒左右

'看看最后一个数据对不对

MsgBox arrB(1000000)

End Sub