如何输入不重复的随机数

我们知道,使用Excel自带的Randbetween可以生成随机数,可是生成出来的会有重复的。这时我们可以自已编写一段代码,生成不重复的数据。

你可以选择一个区域,然后将在指定的区域生成1到了100的随机数,当然也可以在代码中更改最小值和最大值。动画演示如下

代码如下:

Private Sub CommandButton1_Click()
Dim myrng As Range, rng As Range
Set myrng = Application.InputBox(prompt:="请选择一个区域", Type:=8)
    If myrng Is Nothing Then Exit Sub
Randomize
    For Each rng In myrng
        Do
            rng.Value = Rnd() * 100 \ 1 + 1            
        Loop Until Application.CountIf(myrng, rng) = 1
    Next
End Sub

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注