分享好友 办公首页 办公分类 切换频道

三个vba生成不重复随机整数的案例

2020-11-20 18:34浙江1440
内容提要:文章提供三个vba代码生成不重复随机数的案例供学习。

vba不重复随机数案例一:
下面的代码,将在A1:A5000单元格产生1-5000的不重复随机整数。
PrivateSubvba不重复随机数()
   DimArr1(1To5000)AsBoolean
   DimArr2(1To5000,0)AsInteger
   t=Timer
   [A:A]=Empty
   Fori=1To5000
       num=Int(5000*Rnd+1)
       DoWhileArr1(num)
           num=Int(5000*Rnd+1)
       Loop
       Arr1(num)=True
       Arr2(i,0)=num
   Nexti
   [A1:A5000]=Arr2
EndSub


vba不重复随机数案例二:
在A1:A100中产生1-100的不重复随机整数,代码如下:
Subvba不重复随机数()
 DimTempArr1(99)AsInteger,TempArr2(0To99,1To1)AsInteger
 DimRndNumberAsInteger,iAsInteger
 Randomize(Timer)          '初始化随机数生成器
 Fori=0To99           '产生包含1-100的不重复的随机数列
     TempArr1(i)=i
 Nexti
 Fori=99To0Step-1
    RndNumber=Int(i*Rnd)
    TempArr2(99-i,1)=TempArr1(RndNumber)+1
    TempArr1(RndNumber)=TempArr1(i)
 Nexti
 '在A1:A100中输入这些数字
 Range("a1:a100").Value=http://www.ittribalwo.com/article/TempArr2
EndSub


vba不重复随机数案例三:
在A1:A10单元格产生10个0-100的随机整数,以下是代码:
Subvba不重复随机数()
  DimiAsLong
   i=100
   DimnumAsLong
   ReDimarr(i)AsLong
   ReDimArr2(i,0)AsLong
   DimxAsLong
   Forx=0Toi
       arr(x)=x
   Nextx
   Forx=0Toi
       num=Int(Rnd()*(i-x))
       Arr2(x,0)=arr(num)
       arr(num)=arr(i-x)
   Nextx
   Range("A1:A10")=Arr2
EndSub

点赞 0
反对 0
举报
收藏 0
打赏 0
评论 0
分享 9
更多相关评论
暂时没有评论,来说点什么吧
SUM函数从易到难实战交流
SUM函数使用共分为四大类:简单求和,生成序列,文本计数求和,数组扩展求和。

0评论2024-03-24571

工程项目经济评价的基本方法
投资项目评价的经济指标一般可以分作三大类:第一类是以时间单位计量的时间型指标,如投资回收期;第二类是以货币单位计量的价值

0评论2022-04-172131

EXCEL统计字符出现次数的方法
我们已经知道使用简单的公式=COUNTIF或=COUNTIFS,来统计单元格区域某个值的出现次数,那么针对同一单元格,如何统计某字符串的

0评论2020-11-242263

计算机二级考试题库之Excel选择题(七)
在Excel中,要显示公式与单元格之间的关系,可通过以下方式实现

0评论2020-11-202222

计算机二级考试题库之Excel选择题(六)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第11道和第12道题目。

0评论2020-11-202391

计算机二级考试题库之Excel选择题(五)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第9道和第10道题目。第9题:以下错误的Excel公式形式

0评论2020-11-201760

计算机二级考试题库之Excel选择题(四)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第7道和第8道题目。第7题:小刘用Excel 2010制作了一

0评论2020-11-201126

计算机二级考试题库之Excel选择题(三)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第5道和第6道题目。第5题:在Excel某列单元格中,快

0评论2020-11-201130

计算机二级考试题库之Excel选择题(二)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第3道和第4道题目。第3题:小金从网站上查到了最近一

0评论2020-11-202069

计算机二级考试题库之Excel选择题(一)
继续我们的计算机二级office题库练习,今天开始是Excel软件的选择题。今天的第1道和第2道题目。第1题:在Excel工作表中存放了第

0评论2020-11-202364