macros显示500500而不是1000

根据Walkenbach的“Dummis的Excel VBA编程”(第153页),这个macros应该显示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 

当你刚开始的时候,很容易感到困惑!

您可能会错误地TotalCntvariables,您正在输出Total (总和结果)

作者在代码之前解释相同

When the loop finishes, a MsgBox displays the summed integers

在这里输入图像说明

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

 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。