如:<94-5-034*394*8396/>/>97-9818>68308<

解决方案 »

  1.   

    2个问题,t定义为全局变量
    '1.生成随机字符串
    str= "<>/*+-0123456789"
    for i=1 to 36
        randomize
        n= Int((16 * Rnd) + 1)
        s=mid(str,n,1)
        t=t+s
    next
    msgbox "这是sh.Cells(2, 5) =:" & t'2.将随机字符串传给excel
    'Excel 2003 工程中引用 Microsoft Excel 11.0 Object Library;
    'Excel 2000 工程中引用 Microsoft Excel 9.0 Object Library;
    Private Sub Command1_Click()
        Dim ex  As Object, wb  As Object, sh As Object
        Set ex = CreateObject("Excel.Application")   
        Set wb = ex.Workbooks.Add() 
        Set sh = wb.Sheets(1)  
        ex.Visible = True      sh.Cells(1, 1) = t
    End Sub
      

  2.   

    '给个更简单的,完全手写,没有测试
    Public function changestr() as string
    str= "<>/*+-0123456789"
    for i=1 to 36
        randomize
        n= Int((16 * Rnd) + 1)
        s=mid(str,n,1)
        t=t+s
    next
    changestr=t
    end functionPrivate Sub Command1_Click()
      Dim ex As Object, wb As Object, sh As Object
      Set ex = CreateObject("Excel.Application")   
      Set wb = ex.Workbooks.Add()  
      Set sh = wb.Sheets(1)   
      ex.Visible = True     sh.Cells(1, 1) = changestr
      sh.Cells(2, 1) = changestr
    End Sub
      

  3.   

    有随机种子就行,如: Rnd(Timer - Int(Timer)),Rnd(“Cpu使用率”),Rnd(“物理内存可用数”),Rnd(“核心内存未分页”)...
      

  4.   

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