我们知道rand或者randbetween函数可以产生随机数,但是如果我们想要产生完全不重复的数该怎么办呢?
这时我们可以用VBA来解决问题。
按alt+f11打开宏编辑器,点选要处理的sheet.
新建脚本,粘贴内容如下:
Sub t()
Dim i, a, test, s(1 To 100) As Integer
For i = 1 To 100
line1: test = Application.WorksheetFunction.RandBetween(1, 100)
For a = 1 To i
If s(a) = test Then
GoTo line1
End If
Next
s(i) = test
Cells(i, 1) = s(i)
Next
End Sub
效果是产生1-100之间不重复的随机整数。
如果想要其他区间的数,可以做相应修改。