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