获取指定区间不重复的随机数

Function getRandArr()
getRandArr = GetRnd(0, 26, 26 + 1)
End Function
'GetSpecifiedIntervalRndData
'获取指定区间不重复的随机数
Function GetRnd(a&, b&, n&)
'a 区间起始数 b 区间结束数, 区间合计数

Dim i&, m&, r&, t
ReDim ar&(a To b), br(n - 1)
For i = a To b
ar(i) = i
Next
m = b - a + 1
Randomize
For i = 0 To n - 1
r = Int(Rnd * (m - i)) + i + a
t = ar(r)
ar(r) = ar(i + a)
ar(i + a) = t
br(i) = t
Next
GetRnd = br
End Function

posted @ 2022-11-17 20:38  依云科技  阅读(46)  评论(0)    收藏  举报