1. 生成不重复的随机数
下例为生成10个不重复的三位
Sub sbRnd()
Dim i As Integer
Dim j As Integer
Dim lngMinValue, lngMaxValue As Long
Dim intRow, intCol As Integer
Dim dictRnd As Object
Dim lngRnd As Long
Set dictRnd = CreateObject("Scripting.dictionary")
j = ActiveCell.Column
lngMinValue = 100 '最小三位数
lngMaxValue = 999 '最大三位数
While dictRnd.Count <> 10 '生成10个不重复的随机数
Randomize
lngRnd = Int((Rnd * (lngMaxValue - lngMinValue)) + lngMinValue)
dictRnd(lngRnd) = ""
Wend
For Each lngKey In dictRnd
i = i + 1
Cells(i, j).Value = lngKey
Next
End Sub