0

这是我的代码

Sub lab1()

Dim first As Integer
Dim third As Integer
Dim total As Integer

total = 0

For i = 0 To i = 99
    first = Application.WorksheetFunction.RandBetween(1, 100)
    total = total + first
Next i

MsgBox (total)

End Sub

我正在尝试生成 100 个介于 1 到 100 之间的随机数,并将每个数字存储到变量“total”中。我不明白为什么总的值总是低于 100 ,似乎“总”只存储 1 个随机数而不是 100 个随机数

4

2 回答 2

1

对于 i = 0 To 99 << 这是需要注意的重要行

Dim first As Integer
    Dim third As Integer

    Dim total As Integer


    total = 0

    For i = 0 To 99


    first = Application.WorksheetFunction.RandBetween(1, 100)



    total = total + first

    Next i

    MsgBox (total)
于 2013-01-21T02:47:29.170 回答
0

VBA 期望在 之后有一个数字To,因此该行For i = 0 To i = 99被解释为For i = 0 To (i = 99),并且由于i刚刚使用该值创建0,因此表达式i = 99等于False,并且布尔值False转换为0

所以该行For i = 0 To i = 99被解释为For i = 0 To 0

于 2013-01-21T21:35:15.597 回答