Dim aa As Double
    Dim bb As Double
    aa = Rnd()
    bb = Round(aa * 35)
    MsgBox bb

解决方案 »

  1.   

    dim ret as integerrandomize
    ret = int(rnd * 35 + 1)
      

  2.   

    通用[M-N),N>M
    r=M+int((N-M)*rnd)
      

  3.   

    MSDN:
     
    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 是不会得到重复的随机数序列的。
      

  4.   

    关键是:
    为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
      

  5.   

    例如我要1~300之间的随机数,那么:
    randomize  '随机种子初始化
    dim a as long
    a = rnd * 300
      

  6.   

    dim a as integer
    randomize
    a=int(rnd * 35 + 1)
      

  7.   

    使用之前要先Randomize一下,其余的上面说的很清楚了:Randomize语句 返回 初始化随机数生成器。语法Randomize [number]可选的 number 参数是 Variant 或任何有效的数值表达式。说明Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。