1.為了提速,提高代碼運行速度
先我看看二段代碼
Option Explicit
Sub 讀取對象求和1() '用讀取單元格對象的方法
Dim t!, s&, x&, y&
t = Timer '
y = Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To y
s = s + Range("A" & x).Value
Next x
MsgBox "用時(shí)" & Format(Timer - t, "0.00秒")
MsgBox "求出的和是: " & s
End Sub
Sub 用數組方法求和()
Dim t!, s&, x&, arr1
t = Timer
arr1 = Range("A1").CurrentRegion
For x = 1 To UBound(arr1)
s = s + arr1(x, 1)
Next x
MsgBox "用時(shí)" & Format(Timer - t, "0.00秒")
MsgBox "求出的和是: " & s
End Sub
同學(xué)位,我們從上面兩段代碼運行的速度可以明顯看出,速度差異如些的大!大家說(shuō)說(shuō),我們有必要學(xué)習VBA數組嗎?,一個(gè)用時(shí)3.69秒,一個(gè)用時(shí)是0.08秒,當然和電腦配置有關(guān),可能有的同學(xué)測試出來(lái)的比我的速度還快,有的比我的還慢,如果你測試,也可以在下面跟帖,曬曬你的測試運行的結果.
2.簡(jiǎn)化代碼
我們下面也有二段代碼,都是動(dòng)態(tài)的提取第一行的表頭
Option Explicit
Sub 數組方法()
Dim arr1
arr1 = Sheets(1).[A1].CurrentRegion
[A1].Resize(1, UBound(arr1, 2)) = arr1
End Sub
Sub 復制粘貼的方法()
Dim LastColumn%
LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
Sheets(1).Range("A1:F" & LastColumn).Copy
[A1].PasteSpecial xlPasteAll
End Sub
Sub 刪除表頭()
[A1:F1] = ""
End Sub
從上面二段代碼我們可以看出,用“數組的方法”代碼相對來(lái)說(shuō)比“復制粘貼的方法”代碼簡(jiǎn)化一些,當然我也不說(shuō)代碼越簡(jiǎn)單就是好的代碼