Rnd 関数
擬似乱数を含む Single を 返します。
構文
Rnd [ (数値) ]
省略可能な Number引数 は、 単一 または任意の有効な 数値式です。
戻り値
数値が | Rnd が返す値 |
---|---|
0 より小さい | シードとして Number を使用して、毎回同じ 数値 を指定 します。 |
0 より大きい | 擬似ランダム シーケンス内の次の数値。 |
0 に等しい | 最近生成された乱数。 |
省略 | 擬似ランダム シーケンス内の次の数値。 |
解説
Rnd 関数は、0 以上 1 未満の値を返します。
Number の値は、Rnd が擬似乱数を生成する方法を決定します。
所定の初期シードの場合、同じ番号シーケンスが生成されます。これは、Rnd 関数を連続して呼び出すたびに、シーケンス内の次の値のシードとして、前の値が使用されるためです。
Rnd を呼び出す前に、引数を指定せずに Randomize ステートメントを使用して、システム タイマーに基づくシードを使用して乱数ジェネレーターを初期化します。
所定の範囲でランダムな整数を生成するには、次の式を使用します。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
ここで、upperbound には範囲の上限の値を指定し、lowerbound には範囲の下限の値を指定します。
注:
乱数のシーケンスを繰り返す場合は、数値の引数を指定した Randomize を使用する直前に、負の引数を指定した Rnd を呼び出します。 Number に同じ値で Randomize を使用しても、前のシーケンスは繰り返されません。
例
この例では、Rnd 関数を使用して、1 から 6 までのランダムな整数を生成します。
Dim MyValue As Integer
MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。