1. 程式人生 > >Excel之產生不重複的隨機整數

Excel之產生不重複的隨機整數

我們知道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之間不重複的隨機整數。
如果想要其他區間的數,可以做相應修改。