Try this:
Add an invisible, unsorted ListBox.
'Add' to the ListBox all the numbers you wish to use. A straight 1 to however many will do. (Doesn't have to start at 1 of course)
While the ListBox count is > 0
Generate a random number between 0 and ListBox.items.Count -1.
Use the number in that ListBox Index as the selected number.
Remove that index from the ListBox.
(the count will now be one less and the remaining higher numbers will have all moved down one)
This way you can only pull out unused numbers, and you don't have to wait for your RNG to find an unused number, which can take quite a while when you're down to the last few remaining numbers especially.
Poppa.
Oh... I see that's more or less what Funky Dexter's suggested.
Pop.





Reply With Quote