• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Randomizeがある時とない時の違いがわからな)

Randomizeの役割とは?

このQ&Aのポイント
  • Randomizeとは、VBAの関数の一つで、乱数の種を設定するためのものです。
  • Randomize関数を使用することで、ランダムな数値を生成することができます。
  • Sample1とSample2の違いは、Randomize関数を使用しているかどうかです。Sample1では最初にRandomize関数が呼び出されているため、ランダムな数値が生成されますが、Sample2ではRandomize関数が呼び出されていないため、同じ数値が繰り返し生成されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.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

NXHSGWFXAWMID
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

乱数ジェネレータを初期化するのですが……論より証拠。 1.Excelを終了。 2.保存したブックを開いてSample2を動かす。 という作業を数回行ってみてください。 全て同じ結果になるはずです。 次に同じことをSample1で行ってください。 違う結果になっているはずです。

NXHSGWFXAWMID
質問者

お礼

ご回答ありがとうございます。

関連するQ&A