关于这是我用excel中的vba设计的一个座位随机抽签程序,为什么每次运行的结果都是一样如题 有附件的问题
Rnd函数使用给定的种子会生成随机数。因此每次开始都产生同样的随机数。因此每次运行的结果都是一样。
但把剪切改成拷贝后,工作情况已经完全不一样了。变成连续调用Rnd函数。因为以后每一次调用 Rnd 函数,都用数列中的前一个数作为下一个数的种子。每次运行的结果当然是不一样。其实根本没有解决问题。
针对这个问题,VB设计者早已考虑到,解决方法是:
在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。