请教VB随机函数的问题,关于抽奖程序。。
我写了个函数生成mNumber个mlowerbound 到mupperbound的不重复随机数,这样没调用一次函数可以生成不重复的随机数,但现在如果说我要抽1等奖和2等奖,调用2次这个函数,那么这2次生成的数可能重复(1等奖和2等奖总不好一个人得吧),怎么样才能使每次调用函数后生成的数在下次在调用函数时不在生成。
'=============================
'生成mNumber个mlowerbound 到mupperbound的不重复随机数
'=============================
Private Function getNumber(mNumber As Long, mupperbound As Long, mlowerbound As Long) As String
Dim i, j As Long
ReDim ran(1 To mNumber) As Long
Dim tNum As Long
Dim isExist As Boolean
Randomize
For i = 1 To mNumber
isExist = False
tNum = Int((mupperbound - mlowerbound + 1) * Rnd + mlowerbound)
Debug.Print tNum
For j = 1 To i
If ran(j) = tNum Then
isExist = True
i = i - 1
Exit For
End If
Next
If isExist = False Then
ran(i) = tNum
End If
Next
For i = 1 To mNumber
getNumber = getNumber & ran(i) & ","
Next
End Function