我知道我可以使用一个名为Rnd的准随机数生成函数/变量。但是,我注意到每当我在用户表单中使用Rnd时,这个数字序列总会显示出来:
第一次迭代:0.705547511577606 第二次迭代:0.533424019813538 ...
因此,每次重新启动用户窗体时,b / c显示的数字序列都是相同的,它不会感觉随机。 VBA功能集中是否还有其他功能会让它感觉更随机?提前谢谢。
答案 0 :(得分:10)
在对Randomize Timer
进行任何调用之前,请尝试向Rnd
添加一个电话。这将使用一天中的时间为随机数生成器播种。
答案 1 :(得分:2)
我对VB知之甚少,但我认为你需要种子你的数字生成器。我认为Randomize
是为VB做的。
答案 2 :(得分:0)
您可以根据一天中的时间手动设置种子...在您的vba代码顶部插入类似的内容:
For i = 0 To (CInt(Format(Time, "ms"))) 'minutes and seconds turned to integer
test_random = Rnd()
Next