Sub 由小到大生成一定范围内的随机数()
Dim i As Integer, x As Integer, k As Integer
i = 1
Dim d As Object
Set d = CreateObject("Scripting.Dictionary") '定义并创建字典对象
Randomize
x = Int((Rnd * 100) + 1) '随机生成第1个[1,100]之间的整数
d.Add x, i '将生成的值赋予字典
'以下循环生成剩余9个[1,100]的随机数,并赋予字典d(此时这10个随机数不重复)
Do While i < 10
x = Int((Rnd * 100) + 1)
If Not d.exists(x) Then
i = i + 1
d.Add x, i
End If
Loop
'以下循环将已经生成的10个随机数,按由小到大的顺序输出,可在立即窗口查看
Do
k = Application.WorksheetFunction.Min(d.keys)
Debug.Print k
d.Remove (k)
i = i - 1
Loop Until i = 0
End Sub
温馨提示:答案为网友推荐,仅供参考