开始:
Randomize()
'randomValue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd())) + lowerbound
Dim value As Integer = CInt(Int((2 * Rnd()) + 1))
intNumber = value - 1
Dim y As Integer
For y = 0 To 1
' Check arrNumber (y)
'If intnumber has already been selected,
'Then go and select another one.
If intNumber = arrNumber(y) Then
GoTo Start
End If
Next y
我再次获得相同的价值变量值
答案 0 :(得分:1)
由于您发布了一份不完整且无法运行的代码示例,因此很难确定您的问题所在。
我将代码缩减为核心:
Option Explicit
Sub Randomize()
Dim value As Integer
Dim i As Integer
For i = 1 To 100
value = CInt(Int((2 * Rnd()) + 1))
Debug.Print value
Next i
End Sub
此代码将值1和2随机打印到立即窗口(按CTRL-G打开它)。小范围[1,2]是由于缩放值为2.它可以很容易地增加。
所以Rnd()
似乎工作正常。