Generate a pseudorandom number, a value between 0 and 1 (less than 1 but greater than or equal to zero.)

Syntax Rnd[(number)] KeynumberThis argument is a Single or any valid numeric expression, it determines how Rnd will generates a random number:

If | Rnd generates |
---|---|

Less than zero | The same number every time, using |

Greater than zero | The next random number in the sequence. |

Equal to zero | The most recently generated number. |

Not supplied | The next random number in the sequence. |

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 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)

The Rnd() function can be used in VBA or in an SQL query.

**Examples**

Dim intDemo as Integer

Randomize

'A random number between 1 and 6

intDemo = Int ((6 - 1 + 1) * Rnd + 1)

'A random number between 1 and 100

intDemo = Int ((100 - 1 + 1) * Rnd + 1)

'A random number between 50 and 100

intDemo = Int ((100 - 50 + 1) * Rnd + 50)

*“All human actions have one or more of these seven causes: chance, nature, compulsions, habit, reason, passion and desire” ~ Aristotle*

**Related:**

Asc - The Ascii code of a character.

Equivalent PowerShell cmdlet: Get-Random

Random Numbers in CMD or .js