excel随机排序,在A列产生顺序号

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值