本帖最后由 一把小刀闯天下 于 2019-3-20 10:08 编辑
'试一下,,,
Option Explicit
Sub test()
Dim arr, brr, i, j, m, t, cnt
arr = [j3].CurrentRegion
ReDim brr(1 To UBound(arr, 1) * 100, 1 To 1)
Randomize
For i = 1 To UBound(arr, 1)
m = Int(Rnd * UBound(arr, 1)) + 1
t = arr(i, 1): arr(i, 1) = arr(m, 1): arr(m, 1) = t
Next
m = 0
For i = 1 To 100
For j = 1 To UBound(arr, 1)
m = m + 1: brr(m, 1) = arr(j, 1)
Next j, i
arr = Range("a3:g" & Cells(Rows.Count, "b").End(xlUp).Row)
m = 0
For i = 1 To UBound(arr, 1)
cnt = IIf(Len(arr(i, 2)), 7, 5)
For j = 4 To cnt
m = m + 1: arr(i, j) = brr(m, 1)
Next j, i
[a3].Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub
|