Sub SequenceRandom()
'在A列产生随机排序
Randomize Timer
Dim DataPool(65535) As Integer
'总行数
rowNum = Range("B65535").End(xlUp).Row - 1
'清除原始数据
Sheets("Sheet1").Columns(1).Range("A2:A65535").ClearContents
'生成序号
For i = 1 To rowNum
DataPool(i) = i
Next
LastNum = rowNum
CurrentNum = 0
'随机取一个序号填入A列,取完为止
Do While CurrentNum < rowNum
Random = Int(Rnd() * LastNum) + 1 '随机数的范围
RandomVal = DataPool(Random)
Cells(CurrentNum + 2, 1) = RandomVal
'用过的舍弃
DataPool(Random) = DataPool(LastNum)
DataPool(LastNum) = RandomVal
LastNum = LastNum - 1
CurrentNum = CurrentNum + 1
Loop
'排序
Columns("A:Z").sort key1:=Range("A1"), order1:=xlAscending, Header:=xlYes
End Sub
excel随机排序,在A列产生顺序号
于 2021-06-05 10:34:01 首次发布