Excel三个vba生成不重复随机整数的案例
发布时间:2022-06-04 16:15:09
文章提供三个vba代码生成不重复随机数的案例供学习。
vba不重复随机数案例一:
下面的代码,将在A1:A5000单元格产生1-5000的不重复随机整数。
Private Sub vba不重复随机数()
Dim Arr1(1 To 5000) As Boolean
Dim Arr2(1 To 5000, 0) As Integer
t = Timer
[A:A] = Empty
For i = 1 To 5000
num = Int(5000 * Rnd + 1)
Do While Arr1(num)
num = Int(5000 * Rnd + 1)
Loop
Arr1(num) = True
Arr2(i, 0) = num
Next i
[A1:A5000] = Arr2
End Sub
vba不重复随机数案例二:
在A1:A100中产生1-100的不重复随机整数,代码如下:
Sub vba不重复随机数()
Dim TempArr1(99) As Integer, TempArr2(0 To 99, 1 To 1) As Integer
Dim RndNumber As Integer, i As Integer
Randomize (Timer) ‘初始化随机数生成器
For i = 0 To 99 ‘产生包含1-100的不重复的随机数列
TempArr1(i) = i
Next i
For i = 99 To 0 Step -1
RndNumber = Int(i * Rnd)
TempArr2(99 – i, 1) = TempArr1(RndNumber) + 1
TempArr1(RndNumber) = TempArr1(i)
Next i
‘在A1:A100中输入这些数字
Range("a1:a100").Value = TempArr2
End Sub
vba不重复随机数案例三:
在A1:A10单元格产生10个0-100的随机整数,以下是代码:
Sub vba不重复随机数()
Dim i As Long
i = 100
Dim num As Long
ReDim arr(i) As Long
ReDim Arr2(i, 0) As Long
Dim x As Long
For x = 0 To i
arr(x) = x
Next x
For x = 0 To i
num = Int(Rnd() * (i – x))
Arr2(x, 0) = arr(num)
arr(num) = arr(i – x)
Next x
Range("A1:A10") = Arr2
End Sub


猜你喜欢
- 2345浏览器怎么卸载插件?有的用户在使用2345浏览器的时候安装了一些插件,但是后期不需要使用的时候不知道怎么去将它进行卸载。如果你也安装
- Win11管理员权限怎么获取?在我们平常电脑的操作中,有时候会需要使用到管理员权限,相信在座的还有很多小伙伴们不太清楚开启管理员权限的方法,
- Excel如何创建用户登录窗口?介绍了如何利用VBA窗体控件、文本框控件和按钮控件制作用户登录窗口。1.启动Excel并打开工作表,打开Vi
- forest怎么更改标签?forest是一款非常好用的习惯养成软件,用户们在里面添加完便签,想要进行更改的话,要怎么进行操作呢,下面就给大家
- 要安装比特币挖矿客户端,首先在百度中搜索“groupfabric miner”,点击搜索页面中的链接,然后在新打开的页面中点击“在 Wind
- 当工作簿的内容相当庞大时,我们要从中找到某个值,通过眼睛直接找寻恐怕会是一件不容易的事情,而通过Excel提供的搜索功能,却能在瞬间得到答案
- Win10商店无法安装应用报错“0x80073d0a”如何解决?很多用户都习惯在Win10应用商店中下载安装应用,最近一位用户遇到应用商店无
- Win7电脑打不开exe文件怎么办?最近有用户反映这个问题,在使用电脑打开exe文件时,发现打不开了,这是怎么回事呢?应该怎么解决呢?针对这
- 最好在PE下启动,64位安装32位安装方法基本相同,只是32位安装省略拷贝32位bootsect.exe那一步就可以了。 用虚拟光驱软件提取
- macOS Big Sur系统电脑如何恢复无限删除或丢失的数据文件?今天macz小编为您推荐一款软件,Wondershare Recover
- 在Excel中录入好数据之后就会进行对数据的计算,其中计算减法在Excel中属于最基本的操作要素,接下来是小编为大家带来的如何用excel计
- 我们在编辑Word文档的时候,对Word文档进行自动编页码,不仅能够帮助我们更好地阅读电子文档,同时当我们打印Word文档时,也不会因为没有
- 在平时的生活中,相信有很多用户在使用秀票直播的时候,出现打不开的情况,那么秀票直播出现打不开怎么办呢?接下来我们一起往下看看秀票直播出现打不
- 只要一说起石墨文档,相信大家应该不陌生吧,平时在使用的过程中,想要分享文档信息,生成链接还是文档格式,还要打开,下载,很是麻烦。最直接的方法
- wps表格怎样合并两列内容呢?不懂的朋友请详细看本教程,下面小编为大家介绍wps表格合并两列内容的方法,欢迎大家来到学习。wps表格合并两列
- 自从Win10系统发布后,很多用户都从Win7系统升级到Win10系统了。不过,有用户升级到Win10系统后,在打开任务管理器后发现任务管理
- 1、单击页面布局选项卡右下角的标记,如图所示;2、弹出设置对话框,在页边距选项卡的方向处,选择一种所需要的方向即可,如图所示。
- Excel如何快速把两行信息整理成一行?在做Excel表格的时候,要是想把表格里的两行数据整理成一行,你是在一个一个的复制吗?这样的效率是很
- 百度网盘下载慢,限速下载是困扰广大网友的一个问题!好多网友都在网上提出了问题:百度网盘下载慢怎么解决?小编有妙招!您需要一款旧的百度网盘!虽
- Win10系统自带了全新Modern风格的日历应用,不过对于只想快速查看一下日期的人来说,有点小题大做。其实在桌面右下角我们就能快速查看日期