For i = 1 To 1000 Randomize Timer dRnd = Rnd Index = dRnd * 1000 + 1 next i
For i = 1 To ICount Randomize Timer dRnd = Rnd Index = dRnd * Num + 1 next i 生成的随机数不能大于Num
sub pick() Dim a(999) As Integer Dim x As Integer
'' 初始化0-999的值到一个数组,其实这个值可任选 For i = 0 To 999 a(i) = i Next i Randomize Timer '' 加入此语句,置随机数种子 For i = 999 To 0 Step -1 ‘注意这里大小是99而不是400 x = Int(i * Rnd) debug.print a(x) ' 随机选取0-999之间的数,但不重复 a(x) = a(i) Next i end sub
dim sum as string For i = 1 To 1000 Randomize Timer dRnd = Rnd Index = dRnd * 1000 + 1 if istr(sum,index) <> 0 then sum=sum & cstr(index) else i=i-1 next i
下面代码产生999个不同随机数。Private Sub Form_Load() Dim n(1 To 1000), i, j, q
For i = 1 To 1000 n(i) = 0 Next j = 0 Randomize Timer Do While j < 999 q = Int(Rnd(1) * 999 + 1) If n(q) = 0 Then Debug.Print q n(q) = 1 j = j + 1
Randomize Timer
dRnd = Rnd
Index = dRnd * 1000 + 1
next i
Randomize Timer
dRnd = Rnd
Index = dRnd * Num + 1
next i
生成的随机数不能大于Num
Dim a(999) As Integer
Dim x As Integer
'' 初始化0-999的值到一个数组,其实这个值可任选
For i = 0 To 999
a(i) = i
Next i
Randomize Timer '' 加入此语句,置随机数种子
For i = 999 To 0 Step -1 ‘注意这里大小是99而不是400
x = Int(i * Rnd)
debug.print a(x) ' 随机选取0-999之间的数,但不重复
a(x) = a(i)
Next i
end sub
For i = 1 To 1000
Randomize Timer
dRnd = Rnd
Index = dRnd * 1000 + 1
if istr(sum,index) <> 0 then
sum=sum & cstr(index)
else
i=i-1
next i
下面代码产生999个不同随机数。Private Sub Form_Load()
Dim n(1 To 1000), i, j, q
For i = 1 To 1000
n(i) = 0
Next
j = 0
Randomize Timer
Do While j < 999
q = Int(Rnd(1) * 999 + 1)
If n(q) = 0 Then
Debug.Print q
n(q) = 1
j = j + 1
End If
Loop
End Sub