如果我們要用VBA生成一列不重復的隨機整數,可以用下面的VBA代碼。本例可以在A1:A100中產生1-100的不重復隨機整數。
Sub RndNumberNoRepeat()
Dim TempArr1(99) As Integer, TempArr2(0 To 99, 1 To 1) As Integer
Dim RndNumber As Integer, i As Integer
Randomize (Timer) ‘初始化隨機數生成器
For i = 0 To 99 ‘產生包含1-100的不重復的隨機數列
TempArr1(i) = i
Next i
For i = 99 To 0 Step -1
RndNumber = Int(i * Rnd)
TempArr2(99 – i, 1) = TempArr1(RndNumber) + 1
TempArr1(RndNumber) = TempArr1(i)
Next i
‘在A1:A100中輸入這些數字
Range("a1:a100").Value = TempArr2
End Sub