宏显示500500而不是1000

时间:2014-08-12 14:43:23

标签: excel vba excel-vba

根据" Dummis的Excel VBA编程"通过Walkenbach(第153页),此宏应显示1000。

但是当我运行它时,在MsgBox中说500500 ..嗯?

Sub AddNumbers()
    Dim Total As Double
    Dim Cnt As Integer
    Total = 0
    For Cnt = 1 To 1000
        Total = Total + Cnt
    Next Cnt
    MsgBox Total
End Sub

3 个答案:

答案 0 :(得分:5)

当你开始时,很容易混淆!

您可能会误认为TotalCnt变量,您正在输出Total(求和结果)

作者在代码

之前解释了相同的内容

When the loop finishes, a MsgBox displays the summed integers

enter image description here

答案 1 :(得分:1)

您将数字从1到1000求和,即500500.每次迭代时,都会将当前数字Cnt添加到总和中。

答案 2 :(得分:-2)

Sub AddNumbers() 
Dim Total As Double 
Dim Cnt As Integer 
Total = 0 
For Cnt = 1 To 1000 
    Total = Cnt
Next Cnt 
MsgBox Total 
End Sub

这将显示1000.小于1000的所有数字的总和不是1000。