|
或者这样也可以,
- Sub 获取1至100不重复随机数()
- Range("A1").Resize(100, 1).Value = RandomNumber(1, 100, 100)
- End Sub
- Public Function RandomNumber(Minimum As Integer, Biggest As Integer, mNumber As Integer)
- If mNumber > Biggest - Minimum + 1 Then Exit Function
- Dim arr(), b() As Boolean, x As Integer, y As Integer, i As Integer
- ReDim arr(mNumber - 1)
- ReDim b(Biggest - Minimum)
- Randomize
- For i = 0 To mNumber - 1
- Do
- x = Int(Rnd * (Biggest - Minimum + 1)) + Minimum
- y = x - Minimum
- Loop While b(y)
- b(y) = True
- arr(i) = x
- Next i
- RandomNumber = Application.Transpose(arr)
- End Function
复制代码
|
|