现在和大家分享一个用VBA代码快速生成一组不重复随机数的方法。
工具/原料
Excel、vba
方法/步骤
1、本示例是从Sheet1A列100个数据中随机抽取20个数据到B列。打开工作薄,按ATL+F11组合键打开VB编辑器,点击菜单栏的“插入“,插入一个模块。
2、双击模块1,输入下面代码到右边的窗口中。Sub不重复随机数()Dimarr()争犸禀淫'A列100个数装入数组,单元格列或行数据装入数组,数组下界默认是1arr惺绅寨瞀=Application.Transpose(Sheet1.Range("A1:A100"))m=1'数组下界n=100'数组上界Fori=1To20'循环产生20个不重复随机数k=Int(Rnd*n+m)'m到n之间随机整数,包含m、nSheet1.Cells(i,2)=arr(k)'第k个数也就是随机数赋值给工作表第二列arr(k)=arr(m)'数组中第k个数等于第m个数,把第k个数排除了m=m+1'缩小随机范围,排除第m个数,2—100,3—100,4—100……n=n-1NextiEndSub
3、三,把光标定位在代码中,按F5或者点击运行按钮看看效果吧。也可以在工作表添加表单命令按钮指定宏进去或者添加到窗体命令按钮里使用。