怎么取随机值将他付给一个整形变量

解决方案 »

  1.   

    Randomize(Time)
    Print 255*Rnd
      

  2.   

    Dim a As Integer
    Randomize Time
    a = 255 * Rnd
      

  3.   

    生成某个范围内的随机整数,可使用以下公式:
    Randomize(Time)   '声明种子
    Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
    upperbound----上界
    lowerbound----下界
      

  4.   

    以下文字来自msdn:Randomize 语句  描述
    初始化随机数生成器。
    语法
    Randomize [number]
    number 参数可以是任何有效的数值表达式。说明
    Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。
    如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。
    --------------------------------------------------------------------------------
     
    注意 要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。 下面例子举例说明如何使用 Randomize 语句: Dim MyValue, Response
    Randomize    '初始化随机数生成器。Do Until Response = vbNo
       MyValue = Int((6 * Rnd) + 1)    ' 产生 1 到 6 之间的随机数。
       MsgBox MyValue
       Response = MsgBox ("Roll again? ", vbYesNo)
    Loop
      

  5.   

    >UR-怎么取随机值
    '模块名称:mdlRandom
    '模块功能:产生随机的字符串
    '作者:[email protected]
    '更新日期:2003-8-8 11:58:27 AM
    '相关模块:
    '相关文件:
    '预期读者和阅读建议:
    '国外一共享软件,功能是产生一些随机数。据然能够卖到美元
    '但是我不会赚美元,希望你会。
    '用这个模块你搞一个
    ' Password Generator Professional
    ' Random String Generator  Professional
    '赚到钱记得分我一点喔!'***********************************************************
    Public Function RandomNumber(LowerBound, UpperBound)
    'Purpose :产生一个指定范围内的随机数
    On Error Resume Next
    Randomize
    RandomNumber = Int((UpperBound - LowerBound + 1) * Rnd + LowerBound)
    End Function'********************************************
    Public Function CreateRandomString( _
    ByVal strMatrix As String, _
    ByVal lngLen As Long, _
    strOut As String, _
    Optional BlnAllowRepeat As Boolean = False)
    '目的 :在给定的串中,随机选择一个字符,组成指定长度的串。
    '相关模块: RandomNumber,CreateRandomByteArray
    '输入:
    '返回:如果操作成功完成,返回0,否则返回Err.Number
    On Error GoTo PROC_ERR
    Dim lngErr As Long
    '[参数有效性检测]
    Dim lngLenMatrix As Long
    lngLenMatrix = Len(strMatrix)
    If lngLenMatrix = 0 Or lngLen < 1 Then
       lngErr = -1
       Debug.Print "CreateRandomString. Matrix is Empty or lngLen <1"
       GoTo PROC_EXIT
    End If
    '***************
    Dim strTemp As String
    Dim strOneRandom As String
    Dim lngLoop As Long
    Dim lngRandomPosition As Long
    Dim abytRandom() As Byte
    '***************
    If BlnAllowRepeat Then
        '***************
        '*允许重复
       For lngLoop = 1 To lngLen
        '*关键外部调用:mdlUtilities.RandomNumber
          '随机选择一个位置
          lngRandomPosition = RandomNumber(1, lngLenMatrix)
          '得到随机位置的字符
          strOneRandom = Mid(strMatrix, lngRandomPosition, 1)
          '连接得到的随的字符
          strTemp = strTemp & strOneRandom
       NextElse
        '***************
        '*不允许重复
        '*关键外部调用:CreateRandomByteArray
        CreateRandomByteArray abytRandom, lngLenMatrix - 1
        Dim lngCount As Long
        '***************
        For lngLoop = 0 To lngLenMatrix - 1
           '*关键外部调用:mdlUtilities.RandomNumber
           '得到一个位置
            lngRandomPosition = abytRandom(lngLoop)
            '得到这个位置的字符
            strOneRandom = Mid(strMatrix, lngRandomPosition + 1, 1)
            '连接得到的字符
            strTemp = strTemp & strOneRandom
             '记数器加1
             lngCount = lngCount + 1
             If lngCount >= lngLen Then
             Exit For
             End If   NextEnd If
    '***************
    '***************
    '*返回结果
    strOut = strTempPROC_EXIT:
    CreateRandomString = lngErrExit Function
    PROC_ERR:
    lngErr = Err.Number
    strOut = ""
    Debug.Print "CreateRandomString.Err(" & Err.Number & "):" & Err.Description & " Erl:" & Erl
    GoTo PROC_EXITEnd Function'***********************************************************
    Public Function CreateRandomByteArray(abytArray, Optional lngSize As Long = 255) As Long
    '目的 :产生一个随机的Byte数组
    '相关模块:
    '输入:abytArray -保存结果
    ' lngSize -这个数组的上界(*注意:下界为0)
    '返回:如果操作成功完成,返回0,否则返回Err.Number
    On Error GoTo PROC_ERR
         Dim lngErr As Long
        '建立一个临时Byte数组
        Dim lngLoop As Long
        Dim abytTemp() As Byte
        ReDim abytTemp(lngSize)
        '***************
        '*填充这个数组
        For lngLoop = 1 To lngSize
        abytTemp(lngLoop) = lngLoop
        Next
        '***************
        '*对已经填充的数组,通过随机的交换两个元素的位置来打乱
        Dim lngRandom
        Dim vntTemp
        For lngLoop = 0 To lngSize
          lngRandom = RandomNumber(0, lngSize)
        '  Debug.Print "Random:" & lngRandom
           vntTemp = abytTemp(lngLoop)
           abytTemp(lngLoop) = abytTemp(lngRandom)
           abytTemp(lngRandom) = vntTemp    Next
        '***************
        '*返回结果
        abytArray = abytTemp
    PROC_EXIT:
       CreateRandomByteArray = lngErr
       Exit Function
    PROC_ERR:
    lngErr = Err.Number
    Debug.Print "CreateRandomByteArray.Err(" & Err.Number & "):" & Err.Description
    GoTo PROC_EXITEnd Function
    '***********************************************************
    '***********************************************************
    '*希望能够对你有所帮助!
    '***********************************************************
    '*欢迎访问我的网站,给我的作品提宝贵意见!希望和大家交朋友!
    http://www.softboyzhou.com
    '*下载EasyDialog:
    http://www.softboyzhou.com/download/EasyDialog.asp
    '我现在失业了,有什么项目大家一起做吗?
      

  6.   

    int(rnd*256)
    范围是从0到255的整数