VBAマクロに詳しい方助けてください!
Excel2007で乱数を使ったマクロを組んだのですが、同じ数字が繰り返し出力されて困っています。詳しい方、どうか解明をお願いします。
やりたいこと:
100分の1の確率で抽選を繰り返し、当たり(乱数で1が発生したら当たりとする)がでたら「何回目の抽選で当選したか」をセルA1に記入し、セルA2に移行して同じ抽選をやり直す。その作業をA10000まで続ける。
作成したマクロ:
Sub 百分の一抽選()
Dim r, cou, ransuu As Integer
For r = 1 To 10000 'A1 からA10000まで繰り返す
For cou = 1 To 10000
'↑100分の1の確率で当たり(1を当たりとする)が出るまで繰り返す
Randomize '乱数初期化
ransuu = Int(Rnd() * 100) + 1 '1から100までの乱数を作成
If ransuu = 1 Then '乱数で1が発生したら当たりとしてセルに記入
Cells(r, 1) = cou
Exit For '当たりが出たのでひとつ下のセルでの抽選に移行
End If
Next
Next
End Sub
マクロを走らせた結果:
62,43,110,103,43,110,103,43,110,8,94,47,115・・・
上記のように同じ数字のカタマリができてしまいます。
もちろん乱数ですので連続したり重複したりするでしょうが、
あまりに同じパターンが繰り返されるのでどこかおかしいのだと思います。
マクロを実行するたびに数字はかわるのですが、やはりカタマリになります。
作成・動作環境はWinXP,Excel2007(ファイル自体は.xlsで作成),Core2Duo2.20GHz,メモリ2GBです。
ほかのExcelのバージョンでも試してみましたが同じような結果です。
当方VBA歴3年ほどですが、わけがわからずに不思議でなりません。
詳しい方、ぜひ解明をお願いします。同じマクロ使っても現象が起きないようでしたら
こちらの環境のせいだと思われるので、そういったご指摘でもかまいません。
よろしくお願いいたします。
お礼
回答ありがとうございました。