Randomize ステートメント

乱数ジェネレータを初期化 (乱数系列を再設定) します。

Randomize [number]

引数 number には、任意の有効な数式を指定します。

解説

number には、Rnd 関数の乱数ジェネレータに引き渡す新しいシード値を指定します。number を省略すると、システム タイマーから取得した値が新しいシード値として使われます。

Randomize ステートメントを使用しない場合、引数を指定しないで Rnd 関数を呼び出すと、最初に Rnd 関数を呼び出したときのシード値と同じ値が使用されます。それ以降は、直前に生成された数がシード値として使用されます。

メモ   乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。

次のコードは、Randomize ステートメントの使用例です。

Dim MyValue, Response
Randomize   ' 乱数ジェネレータを初期化します。
Do Until Response = vbNo
   MyValue = Int((6 * Rnd) + 1)   ' 1 ~ 6 のランダムな値を生成します。
   MsgBox MyValue
   Response = MsgBox ("繰り返しますか ? ", vbYesNo)
Loop

必要条件

バージョン 1

参照

Rnd 関数 | Timer 関数