- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Randomizeがある時とない時の違いがわからな)
Randomizeの役割とは?
このQ&Aのポイント
- Randomizeとは、VBAの関数の一つで、乱数の種を設定するためのものです。
- Randomize関数を使用することで、ランダムな数値を生成することができます。
- Sample1とSample2の違いは、Randomize関数を使用しているかどうかです。Sample1では最初にRandomize関数が呼び出されているため、ランダムな数値が生成されますが、Sample2ではRandomize関数が呼び出されていないため、同じ数値が繰り返し生成されます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問のコードでは違いが判るコードではありません。 下記のように比較してみてください。 x = Rnd(-1)は、同じ乱数系列を発生させる関数です。 Randomizeは乱数系列を再設定するので、違う乱数系列を発生します。 Sub Sample1() For j = 1 To 3 x = Rnd(-1) Randomize For i = 1 To 10 Debug.Print Int(6 * Rnd(1) + 1), Next Debug.Print Next End Sub Sub Sample2() For j = 1 To 3 x = Rnd(-1) For i = 1 To 10 Debug.Print Int(6 * Rnd(1) + 1), Next Debug.Print Next End Sub
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
回答No.1
乱数ジェネレータを初期化するのですが……論より証拠。 1.Excelを終了。 2.保存したブックを開いてSample2を動かす。 という作業を数回行ってみてください。 全て同じ結果になるはずです。 次に同じことをSample1で行ってください。 違う結果になっているはずです。
質問者
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。