怎么在VB取随机数呀?谢谢!!

解决方案 »

  1.   

    Rnd 函数
          返回一个包含随机数值的 Single。语法Rnd[(number)]可选的 number 参数是 Single 或任何有效的数值表达式。返回值如果 number 的值是 Rnd 生成 
    小于 0 每次都使用 number 作为随机数种子得到的相同结果。 
    大于 0 序列中的下一个随机数。 
    等于 0 最近生成的数。 
    省略 序列中的下一个随机数。 
    说明Rnd 函数返回小于 1 但大于或等于 0 的值。number 的值决定了 Rnd 生成随机数的方式。对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
      

  2.   

    Dim tmp As String
        Randomize Timer
        tmp = VBA.Right(Str$(Int((9999 * Rnd) + 102)), 3)
      

  3.   

    举个例子
    rnd()随机产生一个大于等于0小于1的小数
    t1=rnd()            '0<=t1<1
    t2=t1*7             '0<=t2<7
    t3=int(t2)          '0<=t3<7的整数
    t4=t3+1             '1<=t4<=7把这个放在TIMER控件中就可以产生1到7的随机数了
      

  4.   

    用Rnd 函数
    Rnd函数产生一个从0到1之间的单精度的数,但不等于1
    randomize  '初始化随机数种子
        number=int((你要的最大数-你要的最小数+1)*rnd+你要的最小数)
    就可以了