Article ID: 151470
Article Last Modified on 10/11/2006
Option Explicit
Sub Unique_Numbers()
Dim x As Long, y As Long, z As Long, tempnum As Long
Dim flag As Boolean
Dim i As Integer
Dim foundCell As Range
Application.ScreenUpdating = False
x = Application.InputBox("Enter starting Random Number" _
, "Random Number Generation", 1, , , , , 1)
y = Application.InputBox("Enter ending Random Number" _
, "Random Number Generation", 1000, , , , , 1)
z = Application.InputBox("How many random numbers would" _
& "you like to generate (<15000)?" _
, "Random Number Generation", 100, , , , , 1)
If z = 0 Then Exit Sub
If z > 15000 Then z = 15000
If z > y - x + 1 Then
MsgBox "You specified more numbers to return than " _
& "are possible in the range!"
Exit Sub
End If
Randomize
Cells(1, 1) = Int((y - x + 1) * Rnd + x)
For i = 2 To z
Do
flag = False
Randomize
tempnum = Int((y - x + 1) * Rnd + x)
Set foundCell = Range("a1", _
Range("a1").End(xlDown).Address).Find(tempnum)
If Not (foundCell Is Nothing) Then
flag = True
End If
Loop Until Not flag
Cells(i, 1) = tempnum
Next
End Sub
163435 VBA: Programming Resources for Visual Basic for Applications
Additional query words: XL97 XL
Keywords: kbdtacode kbhowto kbprogramming KB151470