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

标签:整数,重复,随机,随机数,Excel函数
0
投稿

猜你喜欢

  • Win7如何更改文件类型?Win7系统更改文件类型的方法

    2023-01-15 19:29:22
  • 它决定变量可以用于哪个模块或过程中

    2022-09-19 00:31:16
  • win10系统NVDIA独显如何设置高性能模式?英伟达显卡设置高性能方法

    2023-03-04 14:07:55
  • windows系统telnet不是内部或外部命令图文教程详解

    2022-08-06 11:23:36
  • excel表格内容错乱怎么办

    2023-04-30 18:50:25
  • M1 Mac禁用电池运行状况管理,打开/关闭优化电池和充电方法有哪些?

    2023-05-25 22:07:27
  • WPS表格中不同形状的指针形状代表的意思

    2022-05-03 01:53:02
  • word菜单栏工具栏全没了怎么办

    2022-06-06 23:34:56
  • 联想Y9000P如何重装系统?联想Y9000P一键重装系统的方法

    2022-07-19 06:06:20
  • Powerpoint触发器在多媒体课件的应用技巧

    2022-03-31 00:16:50
  • word怎么批量修改标题样式成统一格式?

    2022-10-07 07:19:54
  • 台式电脑怎么投屏到电视?台式电脑投屏到电视的方法

    2023-07-08 10:38:32
  • Mac电脑如何设置家长控制让孩子上网更安全?

    2022-05-17 03:48:49
  • iPhone未在Mac的Finder中显示的解决方案

    2022-04-09 00:21:10
  • Win11系统怎么禁用Superfetch服务?

    2023-06-30 16:25:13
  • WinXP隐藏一键还原命令避免误点击

    2022-08-25 19:28:08
  • 在Windows7上为闪存设置加密分区

    2022-03-09 07:22:47
  • 如何来编辑word 2013文本框

    2023-09-21 11:49:12
  • word文档中输入对号“√ ”和 叉号“×”的方法 word怎么打钩/打叉/半对半勾符号

    2023-07-15 22:13:41
  • Xmind思维导图教程八:如何在Xmind中另保存文件?

    2022-06-19 02:23:29
  • asp之家 电脑教程 m.aspxhome.com