Rnd Function |
Microsoft.VisualBasic.VBMath
Rnd[( number )]
Any valid numeric expression that serves as a seed value
A Single data type random number
Returns a random number
The behavior of the Rnd function is determined by number , as described in the following table:
Number | Rnd generates |
---|---|
< 0 | The same number each time, using seed as the seed number |
> 0 | The next random number in the current sequence |
| The most recently generated number |
Not supplied | The next random number in the current sequence |
The Rnd function always returns a value between and 1.
If number is not supplied, the Rnd function will use the last number generated as the seed for the next generated number. This means that given an initial seed (seed), the same sequence will be generated if number is not supplied on subsequent calls.
The following example uses the Randomize procedure along with the Rnd function to fill 100 cells of an Excel worksheet with random numbers . It requires that a reference to the Microsoft Excel Object Library be added to the project. It also leaves the instance of Excel running once the code has finished execution.
Public Sub GenerateRandomNumbers( ) Dim oApp As New Excel.Application( ) Dim objSheet As Excel.Worksheet Dim intRow, intCol As Integer oApp.Visible = True objSheet = oApp.Workbooks.Add.Worksheets(1) Randomize( ) ' Set the color of the input text to blue objSheet.Cells.Font.ColorIndex = 5 ' Loop through first 10 rows & columns, ' filling them with random numbers For intRow = 1 To 10 For intCol = 1 To 10 objSheet.Cells(intRow, intCol).Value = Rnd( ) Next Next ' Resize columns to accommodate random numbers objSheet.Columns("A:C").AutoFit( ) objSheet = Nothing End Sub
Before calling the Rnd function, you should use the Randomize procedure to initialize the random-number generator.
The standard formula for producing numbers in a given range is as follows :
Int(( highest - lowest + 1) * Rnd + lowest )
where lowest is the lowest required number in the range and highest is the highest.
Randomize Procedure