構文
構文は以下の通りです。
Randomize [数値]
解説
Randomize関数は、VBAでランダムな数値を生成するときに使います。特に、乱数を生成するための初期シードを設定するのに役立ちます。Randomizeを使うことで、毎回異なる乱数のシーケンスを得ることができます。数値はオプションの引数で、この数値を元に乱数のシードが設定されます。もし数値を指定しなければ、現在のシステム時間が使用されます。注意点としては、Randomizeを呼び出さない場合、常に同じ乱数のシーケンスが生成されることになります。
プログラミング例
具体的なプログラミング例を紹介します。
Sub ランダム数を表示()
Dim 乱数 As Double
' 乱数のシードを現在の時間で初期化
Randomize
' 0から1の範囲で乱数を生成
乱数 = Rnd
' 生成した乱数をメッセージボックスで表示
MsgBox "生成された乱数は: " & 乱数
End Sub
Dim 乱数 As Double
' 乱数のシードを現在の時間で初期化
Randomize
' 0から1の範囲で乱数を生成
乱数 = Rnd
' 生成した乱数をメッセージボックスで表示
MsgBox "生成された乱数は: " & 乱数
End Sub
上記のプログラムでは、Randomizeを使って乱数のシードを現在のシステム時間で初期化し、その後、Rnd関数で0から1までのランダムな数値を生成しています。生成された乱数はメッセージボックスに表示されます。Randomizeを使わない場合、VBAは常に同じ乱数のシーケンスを生成するため、異なるランダムな結果を得たい場合には、必ずRandomizeを使うようにしてください。
まとめ
Randomize関数は乱数の初期シードを設定するために使用されます。オプションの数値引数を使って特定のシードを設定できますが、指定しなければシステム時間が使われます。Randomizeを使わないと、乱数のシーケンスが常に同じになります。