【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可以产生不同的序列。
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可以产生不同的序列。
相关文章推荐
- 对NAT中术语和转换关系的理解和研究
- 对NAT中术语和转换关系的理解和研究
- 对NAT中术语和转换关系的理解和研究
- Java接口与类的关系理解
- Android入门:深入学习理解 Handler HandlerThread AsyncQueryHandler 三者的关系
- 复杂事件处理(Complex Event Processing)--1. 基本概念:事件,事件关系,事件处理的简单抽象理解
- 漫谈设计模式--3分钟理解桥接模式:笔和画的关系
- 进一步理解!linux下bus,device,driver三者关系
- OR1200各模块之间的连接关系图,使用VISIO绘制,理解源代码必备
- 【VBA研究】VBA从字符串中取出数据信息的函数
- 原码,反码,补码的研究和理解。
- GAE研究小组:面向对象与面向过程的工程化理解
- 理解VAO与VBO的关系
- 文章评论:级数中达朗贝尔判别法和柯西判别法之间的关系研究 By 彭军
- 新手理解HTML、CSS、javascript之间的关系
- DICOM查询/获取信息模型的研究及关系数据库实现
- 【VBA研究】取整函数的使用
- 理解js中的原型链,prototype与__proto__的关系
- MQ、JMS以及ActiveMQ 关系的理解
- 关于关系代数中除法的理解以及如何用基本运算表示除法