您的位置:首页 > 编程语言 > VB

【VBA研究】Rnd和Randomize的关系和理解

2017-04-10 11:23 197 查看
iamlaosong文

1、程序中如果只用Rnd取随机数时,每次执行都会产生相同的随机数序列。

2、程序如果先用Randomize number初始化(number是初始化种子),每次执行还是会产生相同的随机数序列,只是不同的number产生的随即序列不同。但同一个程序中用Randomize number执行两次(相同的number),前后两次中用Rnd取到的随机序列并不同。

3、Randomize语句(后面没有number)可以让每次执行程序产生不同的序列,因为不带number的语句是用计时器当前值做随机序列的种子。

4、同一个程序中如果想要得到相同的随机数序列,可以先执行“Rnd 负数”。例如:

    Rnd -1

    For i = 2 To 100

        Cells(i, 3) = Rnd

    Next i

    Rnd -1

    For i = 2 To 100

        Cells(i, 3) = Rnd

    Next i

上面两组随机数完全相同,不同的负数产生不同的序列。

5、也可以在Rnd -1后面跟Randomize number来得到相同的随机数序列。例如:

    Rnd -1

    Randomize 12345

    For i = 2 To 100

        Cells(i, 3) = Rnd

    Next i

    Rnd -1

    Randomize 12345

    For i = 2 To 100

        Cells(i, 3) = Rnd

    Next i

上面两组随机数完全相同,不同的number可以产生不同的序列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vba