將Sheets(1)中的一行,多次寫入Sheets(2)中,我用了兩個方法:
Private Sub A()
Dim Arr As Variant
Dim i As Long
Arr = Sheets(1).Rows(1)
For i = 1 To 5000
Sheets(2).Rows(i) = Arr
DoEvents
Next i
End Sub
Private Sub B()
Dim i As Long
For i = 1 To 5000
Sheets(1).Rows(i).Copy Destination:=Sheets(2).Rows(i)
DoEvents
Next i
End Sub
我發現,在每次For之后,方法A占用的記憶體都恒定,而B會一直增加。
這是為什么呢?
uj5u.com熱心網友回復:
第二個方法應該是復制時在記憶體中保留了大量資料............
uj5u.com熱心網友回復:
幫你測驗后發現 ( 重復 RUN 很多次)方法A占用的記憶體 =17 MB
方法B占用的記憶體 =17 MB
并沒發現異樣
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/92479.html
標籤:VBA
