當前位置:成語大全網 - 新華字典 - vba中:如何將壹個數組的壹串元素復制給另外壹個數組

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