VB Code:
Dim aNumbers(9) As Integer
Dim iCount As Integer
Dim iRnd As Integer
Dim iCheck As Integer
Dim bIsValid As Boolean
For iCount = 0 To 9
Do
'pick the random number
iRnd = Int((Rnd(1) * 100) + 1)
'see if it has been used before
bIsValid = True
For iCheck = 0 To (iCount - 1)
If aNumbers(iCheck) = iRnd Then
'it has - so try again
bIsValid = False
Exit For
End If
Next iCheck
Loop Until bIsValid = True
'this number is unused, so use it
aNumbers(iCount) = iRnd
Next iCount
VB Code:
'set up list of valid numbers
Dim cNumbers As Collection
Dim iCount As Integer
Set cNumbers = New Collection
For iCount = 1 To 100
cNumbers.Add iCount
Next iCount
Dim aNumbers(9) As Integer
Dim iRndPos As Integer
For iCount = 0 To 9
'pick the random position
iRndPos = (Rnd(1) * cNumbers.Count) + 1
'get the item from that position (our "random" number)
aNumbers(iCount) = cNumbers.Item(iRndPos)
'remove the item from the list
cNumbers.Remove iRndPos
Next iCount