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

1から100までの100個の乱数を生成し、各数値を変数'total'に格納しようとしています。合計の値が常に100未満のようになっている理由がわかりません。「合計」には、100個の乱数ではなく1個の乱数しか格納されていないようです。

4

2 に答える 2

1

i =0から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)ので、式はに等しく、ブール値はに変換されます。 i0i = 99FalseFalse0

したがって、この行For i = 0 To i = 99は。として解釈されFor i = 0 To 0ます。

于 2013-01-21T21:35:15.597 に答える