Here's a way to generate unique random numbers from a minimum value to a maximum value
Code:Sub GenerateRandomUnique()
Dim lng As Long
Const lngMax As Long = 100
Const lngMin As Long = 1
With CreateObject("Scripting.Dictionary")
Do While .Count <> lngMax
lng = Rnd * (lngMax - lngMin + 1) + 1
.Item(lng) = Empty
Loop
MsgBox Join(.Keys, " ")
End With
End Sub