wuxingai 发表于 2012-2-23 13:42
Sub aa()
Dim Arr, str, n%, i%, j%
VBA.Randomize
楼主的要求是A列不变。
学习代码修改一下
Sub aa()
Dim Arr, str, n%, i%, j%
VBA.Randomize
Arr = Range("a1").CurrentRegion.Value
For i = 1 To UBound(Arr)
n = Int((5 - 1)) * Rnd + 1
For j = 2 To 4
str = Arr(i, j): Arr(i, j) = Arr(n, j): Arr(n, j) = str
Next j
Next i
Range("a1").Resize(UBound(Arr), 4) = Arr
End Sub
Sub aa()
Dim Arr, str, n%, i%, j%
VBA.Randomize
Arr = Range("A1").CurrentRegion.Value
For i = 1 To UBound(Arr)
n = Int((5 - 1)) * Rnd + 1
For j = 1 To 4
str = Arr(i, j): Arr(i, j) = Arr(n, j): Arr(n, j) = str
Next j
Next i
Range("A1").Resize(UBound(Arr), 4) = Arr
End Sub
wuxingai 发表于 2012-2-23 13:42
Sub aa()
Dim Arr, str, n%, i%, j%
VBA.Randomize
楼主的要求是A列不变。
学习代码修改一下
Sub aa()
Dim Arr, str, n%, i%, j%
VBA.Randomize
Arr = Range("a1").CurrentRegion.Value
For i = 1 To UBound(Arr)
n = Int((5 - 1)) * Rnd + 1
For j = 2 To 4
str = Arr(i, j): Arr(i, j) = Arr(n, j): Arr(n, j) = str
Next j
Next i
Range("a1").Resize(UBound(Arr), 4) = Arr
End Sub