seed = TimeValue("00:" & Format(Second(Time), "00") & ":" & Format(Minute(Time), "00"))
Randomize (seed)
Range("A1") = Int((100) * Rnd + 1)
(2) 如 ran(0) , ran(-1) or rasn(-2) .... , 會產生和上一次一樣的隨機數字
(3) Randomize 後面不加任何數值 , 會用電腦系統中的時間做seed
the below is FROM Microsoft WEBSITE
Rnd Function
Returns a Single containing a random number.
Syntax
Rnd[(number)]
Return Values
IF NUMBER IS | RND GENERATES |
---|---|
Less than zero | The same number every time, using number as the seed. |
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. |
Remarks
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 random number:
For any given initial seed, the same number sequence is generated because each successive call to the Rndfunction 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.
NOTE To repeat sequences of random numbers, call Rnd with a negative argument immediately before usingRandomize with a numeric argument. Using Randomize with the same value for number does not repeat the previous sequence.
Example
NOTE Examples that follow demonstrate the use of this function in a Visual Basic for Applications (VBA) module. For more information about working with VBA, select Developer Reference in the drop-down list next toSearch and enter one or more terms in the search box.
This example uses the Rnd function to generate a random integer value from 1 to 6.
Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * ) + 1)
沒有留言:
張貼留言