这是我用excel中的vba设计的一个座位随机抽签程序,为什么每次运行的结果都是一样
这是我用excel中的vba设计的一个座位随机抽签程序,为什么每次运行的结果都是一样如题 有附件
Rnd函数使用给定的种子会生成随机数。因此每次开始都产生同样的随机数。因此每次运行的结果都是一样。 但把剪切改成拷贝后,工作情况已经完全不一样了。变成连续调用Rnd函数。因为以后每一次调用 Rnd 函数,都用数列中的前一个数作为下一个数的种子。每次运行的结果当然是不一样。其实根本没有解决问题。 针对这个问题,VB设计者早已考虑到,解决方法是: 在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。
已验证,加Randomize 语句在sub内首句,结果不一样。如果不加,结果就一样。呵可
我试过了,结果并不会一样的,为了更好验证是不是一样,我把代码中的剪切改成拷贝,你也可以试试,结果完全不一样的.
答:你需要注册这个控件,在“运行”菜单里键入 regsvr32 控件名称 即可 如果要注销,用下面的命令 regsvr32 控件名称 /u详情>>