Returns a Single containing a pseudo-random number.
Rnd [ (Number) ]
The optional Number argument is a Single or any valid numeric expression.
|If Number is||Rnd generates|
|Less than zero||The same number every time, using Number as the seed.|
|Greater than zero||The next number in the pseudo-random sequence.|
|Equal to zero||The most recently generated number.|
|Not supplied||The next number in the pseudo-random sequence.|
The Rnd function returns a value less than 1 but greater than or equal to zero.
The value of Number determines how Rnd generates a pseudo-random number:
- For any given initial seed, the same number sequence is generated because each successive call to the Rnd function uses the previous number as a seed for the next number in the sequence.
- Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer.
To produce random integers in a given range, use this formula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.
To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument. Using Randomize with the same value for Number does not repeat the previous sequence.
This example uses the Rnd function to generate a random integer value from 1 to 6.
Dim MyValue As Integer MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.