excel启用宏,通过vba实现从数字数组里随机获取N个不重复的数字

我们以WPS打开excel为例:CHF免费资源网
1,要先给WPS安装VBA插件,在百度里搜索“VBA7.0.1590_For WPS(中文).exe”,然后下载安装CHF免费资源网
2,打开excel文档,在顶部菜单“开发工具”里点击“VB编辑器”CHF免费资源网
3,在打开的Microsoft Visual Basic编辑器里,在左侧菜单“Project(工作簿1)”上点击右键,选择插入“模块”CHF免费资源网

4,在默认打开的模块1里,输入代码:CHF免费资源网

 Function getRandNum(data As String, num As Integer)  'Application.Volatile '标记易失函数      Dim d As Object      Set d = CreateObject("Scripting.Dictionary")    '定义字典      dataArr = Split(data, ",")  '拆分      ReDim result(1 To num)      Do Until (n >= num)          randNum = VBA.Int(VBA.Rnd() * (UBound(dataArr) - 0 + 1))    '范围          keystr = dataArr(randNum)          If Not d.exists(keystr) Then              n = n + 1   '累计              d(keystr) = ""              result(n) = keystr  '写入          End If      Loop      getRandNum = Join(result, ",") '组合      Set d = Nothing  End Function

5,点击保存,会让你重新保存文档为.xlsm格式CHF免费资源网
6,关闭Microsoft Visual Basic编辑器,然后都可以在表格里使用=getrandNum(data,num)公式了CHF免费资源网
7,上面公式中data,num2个参数可以直接写死,也可以从其他单元格单元格中动态读取,注意num的数字不能大于data数组中的个数,如下图所示:CHF免费资源网
excel启用宏,通过vba实现从数字数组里随机获取N个不重复的数字CHF免费资源网

《免费共享资源》本网站内容收集于互联网,不承担任何由于内容的合法性及健康性所引起的争议和法律责任。
免费共享资源网 » excel启用宏,通过vba实现从数字数组里随机获取N个不重复的数字

发表评论

提供最优质的资源集合

立即查看 了解详情