VBA Excel 生成不重复随机数(排除法)

现在和大家分享一个用VBA代码快速生成一组不重复随机数的方法。

操作方法

  • 01

    本示例是从Sheet1 A列100个数据中随机抽取20个数据到B列。 一、打开工作薄,按ATL+F11组合键打开VB编辑器,点击菜单栏的“插入“,插入一个模块。

  • 02

    二、双击模块1,输入下面代码到右边的窗口中。 Sub 不重复随机数() Dim arr() 'A列100个数装入数组,单元格列或行数据装入数组,数组下界默认是1 arr = Application.Transpose(Sheet1.Range("A1:A100")) m = 1    '数组下界 n = 100  '数组上界 For i = 1 To 20     '循环产生20个不重复随机数 k = Int(Rnd * n + m)    'm到n之间随机整数,包含m、n Sheet1.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 - 1 Next i End Sub

  • 03

    三,把光标定位在代码中,按F5或者点击运行按钮看看效果吧。也可以在工作表添加表单命令按钮指定宏进去或者添加到窗体命令按钮里使用。

(0)

相关推荐

  • excel生成任意位随机数的方法

    excel中生成随机数的方法有2种,一是rand函数,一是randbetween函数.rand函数为:"=rand()",注意的是rand函数括号里是空的不填数据:randbetw ...

  • Excel表格怎么用VBA来实现删除重复值的操作

    今天给大家介绍一下Excel表格怎么用VBA来实现删除重复值的操作步骤.1. 首先双击打开Excel表格,我们可以看到,A列中有一些重复值,下面我们就来操作删除重复项.2. 首先选择工具栏上的&quo ...

  • Excel生成随机数相加等于指定数字的方法

    有时候我们会遇到 Excel生成随机数相加等于指定数字这样的需求,本教程以一个实际项目为例子演示如何用Excel生成随机数相加等于指定数字,例子为: "". 另外,为了便于理解,我 ...

  • 怎样用excel生成规定范围内的随机数

    当我们要统计数据或者是计算数据的时候,使用excel制作表格是很方便的.下面小编教大家如何用excel生成规定范围内的随机数. 操作方法 01 打开电脑中的一个excel表格,可以看到里面有如下的数据 ...

  • 几个Excel中简单重复技巧分享

    别小看简单的重复,在Excel中,一个简单的重复动作或操作,能够变换出神奇的数据或数据效果.今天小编为大家分享几个Excel中简单重复技巧,有兴趣的朋友可以参考本文,希望大家喜欢! 1. Ctrl+E ...

  • excel生成11选5前三直字典方法

    excel生成11选5前三直字典方法.在高频彩11选5中,前三直选的中奖金额最高,在这里,我们用excel生成前三直的字典,可以供彩民朋友在买彩票时查照和参考. 方法/步骤 启动excel自带的vba ...

  • 用php随机生成不重复的数字

    操作方法 01 php基础教程:用php随机生成不重复的数字. <?php$num = 3;$start = 1;$end = 5;$connt = 0;while($connt<$num ...

  • excel怎么删除重复的数据?

    excel怎么删除重复的数据?做excel表时,经常需要查找重复项,并将它去除.通过手工去找,那是非常费事的.我们可以采用条件格式将重复项用不同的颜色显示出来,也可以用一些公式将重复项找出来,找出来之 ...

  • Excel技巧:Excel生成工资条的方法

    Excel技巧:Excel生成工资条的方法 第一种格式的工资条,内容之间不留白,效果如下图: 具体的操作方法是: 1.生成数字辅助列. 在E2单元格输入数字1,向下复制填充到E17单元格. 单击自动填 ...