Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1561|回复: 2

[已解决](求助)为什么每次打开程序后生成的数据都是一样的?

[复制链接]
发表于 2012-8-21 22:52 | 显示全部楼层 |阅读模式
打开程序,工作薄内不管有多少张工作表,所生成的数据,不会重复。
但,关闭程序再打开,执行后,所生成的数据,跟第一次打开时,一模一样。
或者这样说:这个程序,发个一百个人,在一百台电脑上使用,生成出来的数据,都是一样的。这很不正常。

如附件 随机数生成附件.rar (81.37 KB, 下载次数: 9)
发表于 2012-8-21 23:41 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim arr, brr, crr
    Dim i As Long, j As Long, k As Long
    Dim x, y, z, m, n, temp
    x = 49
    y = 163
    z = "7,12"
    m = Val(Split(z, ",")(0))
    n = Val(Split(z, ",")(1))
    ReDim brr(1 To x - 2)
    For i = 1 To x
        If i <> m And i <> n Then
            j = j + 1
            brr(j) = i
        End If
    Next
    For n = 2 To Worksheets.Count    '外面套个循环
        ReDim arr(1 To x - 2, 1 To y)
        For j = 1 To y
            crr = brr
            For i = 1 To x - 2
                Randomize
                k = (Rnd() * (x - 2 - i) + 1) \ 1
                arr(i, j) = crr(k)
                temp = crr(k)
                crr(k) = crr(x - 2 - i + 1)
                crr(x - i - 1) = temp
            Next
        Next
        With Sheets(n)
            .Cells.Clear
            .Range("a1").Resize(x - 2, y) = arr
        End With
    Next
End Sub


这样再试一下。

评分

参与人数 1 +1 收起 理由
Ex118 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-8-21 23:49 | 显示全部楼层
快捷干净利索。不愧为国军精英。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 14:00 , Processed in 0.254296 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表