Rnd 関数Rnd function

擬似乱数を含む単精度浮動小数点型 (single) の値を返します。Returns a Single containing a pseudo-random number.


Rnd[(数値)]Rnd [ (Number) ]

省略可能な_Number_ 引数は、単精度浮動小数点型 (Single) の数値式です。The optional Number argument is a Single or any valid numeric expression.

戻り値Return values

_Number_がIf Number is Rnd が返す値Rnd generates
0 より小さいLess than zero 常に同じ数値をシード_値_として使用します。The same number every time, using Number as the seed.
0 より大きいGreater than zero 擬似乱数シーケンスの次の番号。The next number in the pseudo-random sequence.
0に等しいEqual to zero 最近生成された乱数。The most recently generated number.
省略Not supplied 擬似乱数シーケンスの次の番号。The next number in the pseudo-random sequence.


Rnd 関数は、0 以上 1 未満の値を返します。The Rnd function returns a value less than 1 but greater than or equal to zero.

_Number_の値によって、 Rndが擬似乱数を生成する方法が決まります。The value of Number determines how Rnd generates a pseudo-random number:

  • 所定の初期シードの場合、同じ番号シーケンスが生成されます。これは、Rnd 関数を連続して呼び出すたびに、シーケンス内の次の値のシードとして、前の値が使用されるためです。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.

  • システム タイマーに基づくシードを使用して乱数ジェネレーターを初期化するには、Rnd を呼び出す前に、引数を指定せずに Randomize ステートメントを使用します。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)

ここで、__ upperbound には範囲の上限の値を指定し、__ lowerbound には範囲の下限の値を指定します。Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.


乱数のシーケンスを繰り返す場合は、数値の引数を指定した Randomize を使用する直前に、負の引数を指定した Rnd を呼び出します。To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument. _Number_に同じ値を指定してRandomizeを使用しても、前のシーケンスは繰り返されません。Using Randomize with the same value for Number does not repeat the previous sequence.


この例では、Rnd 関数を使用して、1 から 6 までのランダムな整数を生成します。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.

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.