问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用VBA产生一组区间内不重复随机数

发布网友 发布时间:2022-04-23 13:09

我来回答

3个回答

热心网友 时间:2023-06-29 20:43

Public Function 不重复随机数(小数 As Integer, 大数 As Integer, 个数 As Integer)
If 个数 > 大数 - 小数 + 1 Then Exit Function
Dim arr()
ReDim arr(个数 - 1)
Dim b() As Boolean
ReDim b(大数 - 小数) '取数标志
Dim x As Integer, y As Integer
Randomize
For I = 0 To 个数 - 1
Do '找到x的位置,y表示x在取数标志数组的位置
x = Int(Rnd * (大数 - 小数 + 1)) + 小数
y = x - 小数
Loop While b(y)
b(y) = True
arr(I) = x '找到未取的数,并放入数组,设置标志位
Next I
不重复随机数 = Application.Transpose(arr)
End Function

热心网友 时间:2023-06-29 20:43

Sub test()
Dim i As Integer
For i = 1 To InputBox("How many random numbers do you want?", "Hi")
Cells(i, 1) = Format(Rnd * (35 - 30) + 30, "0.0")
Next i
End Sub

热心网友 时间:2023-06-29 20:44

推荐回答应该能用,但刚接触vba看不太懂啊,所以写了这段代码,vba初学者应该都能看懂吧,毕竟是我一个小白写的。

sub sjzs()

min = 小数,max = 大数,geshu = 个数  '可用input输入,或者引用单元格

If  geshu > max - min + 1 Then  '输入个数应在范围内

msgbox "请输入正确个数!"

Exit sub

for n = 1 to  geshu 

line:

num = int ((max-min)*rnd +min)

a(n) = num

if n > 1 then

for i = 1 to n -1

if a(n) = a(i) then goto line '如果与已有数字相同,则重复取随机,至不重复

next

end if 

debug.print a(n)

next

end sub


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑lol突然很卡怎么办啊电脑玩lolfps低怎么解决 危化品仓库有什么设备 香港中文大学2021-2022在河北,重庆最低录取分数线 ChaCheer 洽洽 南瓜子 盐焗味 500g-适用对象 老闫家小粒香南瓜子-适用对象 洽洽盐焗味南瓜子-适用对象 盐焗南瓜子里有添加明矾吗 老街口盐焗味南瓜子500g*2袋量大优惠休闲零食 一天走多少步可以减肥每天走多少步可以减肥 肉炖土豆需要炖多久时间 VBA 产生不重复的随机数问题 VBA生成不重复的随机数 请问Excel的VBA里面怎么让所选单元格随机出来的数都不一样? 南宁哪有卖绝味鸭脖的? 宁波哪些地方有绝味鸭脖卖? 请问万达广场门口的空地租金要多少? 对青烤鹅 万达店怎么样 盘龙城万达广场有哪些品牌衣服 绝味鸭脖和周黑鸭,俩大品牌哪个好啊? 本人在四川 想开一个绝味鸭脖 怎样加盟的? 想自己创业 加盟绝味鸭脖可以吧 应该怎样加盟 不想费用太高的 承受不起 成都的绝味鸭脖是不是不买萝卜干了 绝味鸭脖总部在哪 市北佳世客附近哪有绝味鸭脖或者周黑鸭 新会区到底有几个绝味鸭脖店 武汉绝味鸭脖总部在新华路万达广场吗 大明宫万达附近哪有卖绝味鸭脖的 绝味鸭脖加盟费是多少?总部在哪? 绝味鸭脖加盟电话多少? 呼和浩特的朋友,现在绝味鸭脖在呼市开了好多店,也不知道还有没有市场了,有了解的请求你们的帮助 瘦腿最有效的办法是什么? EXCEL VBA生成不重复随机数,且越来越大 什么方法瘦腿又快又好? VBA菜鸟求助 生成不重复随机数 什么方法可以最快瘦腿 如何用EXCEl VBA生成随机整数(可以重复) 什么方法瘦腿最快 请教,Excel VBA中,有五个按钮,每次产生1~5的不重复的随机数。 只有五个奖励值了。不好意 EXCEL VBA 在1-50产生5个不重复的随机整数,且和为300 用什么方法在最快的时间瘦腿 该如何让随机数不重复!!!我想不到了? 有什么方法,既不用花钱,又能快速的瘦腿!! 吃什么东西可以快速瘦腿? vba 随机数问题? 瘦腿最快的方法是什么 用EXCEL,VBA如何用0——9随机生成数个不重复的五位数?求高手 什么方法瘦腿效果最快最好? vb产生不重复的随机数 有什么好的方法可以快速瘦腿? VB生成不重复的随机数