Sub Test_RandomNumbers()
Dim r As Range
Dim a As Long
Dim b As Long
a = 5: b = 17
Set r = Sheets(1).Range("A1:A20")
RandomNumbers a, b, r
End Sub
Sub RandomNumbers(low As Long, high As Long, rng As Range)
Dim cell As Range
Dim rndNumber As Long
rng.ClearContents
For Each cell In rng.Cells
If WorksheetFunction.CountA(rng) = (high - low + 1) Then Exit For
Do
rndNumber = Int((high - low + 1) * Rnd() + low)
Loop Until rng.Cells.Find(rndNumber, LookIn:=xlValues, lookat:=xlWhole) Is Nothing
cell.Value = rndNumber
Next cell
End Sub