|
“没有最好,只有更好”这是我的观点。挑点毛病:“对于要实现的某一功能,如果有Excel的内置函数能够实现,那么就用Excel的内置函数,不需要另外自定义函数,因为自定义的函数总比Excel内置的函数慢。”
application.index、transpose就没有自定义函数快。
再有:下面程序慢的原因是大部分时间用在读写单元格,
Sub AddItSlow()
Dim Start As Double, Finish As Double
Start = Timer
'--------------------------------------
'为了进行测试,我们循环5次
Dim N As Long
For N = 1 To 5
'***************************
Dim Cell As Range
For Each Cell In Worksheets(2).Range("A1:G200")
[a1] = [a1] + Cell.Value
Next Cell
'***************************
Next N
'--------------------------------------
Finish = Timer
MsgBox "本次运行的时间是" & Finish - Start
End Sub
看看改成下面能快几倍:
Sub AddItSlow()
Dim Start As Double, Finish As Double
r = Worksheets(2).Range("A1:G200")
Start = Timer
Dim N As Long
For N = 1 To 5
t = 0
For Each c In r
t = t + c
Next
Next
Finish = Timer
MsgBox "本次运行的时间是" & Finish - Start & "和:" & t
End Sub |
|