请大家一起来研究一下!!!!!!比较这几种循环的速度问题!!!!!
Option Explicit
Private Sub Form_Load()
Dim i As Long
Dim a As Double
Dim s As Long
a = CDbl(Timer)
Debug.Print a
For i = 1 To 1000000
s = s + 1
Next i
Debug.Print CDbl(Timer), CDbl(Timer) - a
Debug.Print "-----------------"
'===============================================
a = CDbl(Timer)
Debug.Print a
i = 1
While i <= 1000000
s = s + 1
i = i + 1
Wend
Debug.Print CDbl(Timer), CDbl(Timer) - a
Debug.Print "-----------------"
'===============================================
a = CDbl(Timer)
Debug.Print a
i = 1
Do While i <= 1000000
s = s + 1
i = i + 1
Loop
Debug.Print CDbl(Timer), CDbl(Timer) - a
Debug.Print "-----------------"
End Sub
第一次结果
2911.331
2911.40087890625 .069878906249869
-----------------
2911.401
2911.55102539063 .15002539062516
-----------------
2911.551
2911.64111328125 9.01132812500691E-02
-----------------
第二次结果
2939.574
2939.64404296875 7.00429687499309E-02
-----------------
2939.644
2939.78393554688 .139935546875222
-----------------
2939.784
2939.8740234375 9.00234374998945E-02
第三次结果
3068.549
3068.61889648438 6.98964843750218E-02
-----------------
3068.619
3068.77001953125 .151019531249858
-----------------
3068.78
3068.86010742188 8.01074218747999E-02
-----------------