|
发表于 2014-8-10 17:10
|
显示全部楼层
本楼为最佳答案
- Const m& = 50, s$$ = "00"
- Sub kagawa()
- Dim i&, j&, k&, n&, t, r,tms#
- k = Val(InputBox("Please input Number of Data Sheets: " & m & " x ?", "GetRand", 1))
- If k = 0 Then Exit Sub Else If m * k + 10 > Cells.Rows.Count Then k = (Cells.Rows.Count - 10) \ m
- tms = Timer
- arr = Application.Transpose(Application.Transpose([b1].CurrentRegion))
- n = UBound(arr)
- Workbooks.Add
- With ActiveWorkbook
- Do Until .Sheets.Count = 12
- .Sheets.Add
- Loop
- For i = 1 To 12
- .Sheets(i).Name = Right(0 & i, 2)
- Next
- Randomize
- For k = 1 To 12
- ReDim brr(1 To m, 1 To n)
- For i = 1 To m
- For j = 1 To n
- r = Int(Rnd * (n - j + 1) + j)
- t = arr(r): arr(r) = arr(j): arr(j) = t: brr(i, j) = t
- Next
- Next
- .Sheets(Right(0 & k, 2)).Range("A1").Resize(n, m) = Application.Transpose(brr)
- Next
- .SaveAs (ThisWorkbook.Path & "" & "数据.xls")
- .Close
- End With
- MsgBox Format(Timer - tms, "0.000s")
- End Sub
复制代码 |
评分
-
查看全部评分
|