早教吧作业答案频道 -->其他-->
vba取得N个随机数去重问题Subtest()Dima(1To20)AsInteger‘从sheet2的40条数据中随机取出20条数据放入sheet1Fori=1To20yes=1DoWhileyes=1Randomizex=Int((40*Rnd)+2)yes=0Forj=1Toi‘将取到的随机
题目详情
vba取得N个随机数去重问题
Sub test()
Dim a(1 To 20) As Integer ‘从sheet2的40条数据中随机取出20条数据放入sheet1
For i = 1 To 20
yes = 1
Do While yes = 1
Randomize
x = Int((40 * Rnd) + 2)
yes = 0
For j = 1 To i ‘将取到的随机数与已经取到的数字经行对比.
If x = a(j) Then
yes = 1
Exit For
End If
Next j
Loop
a(i) = x '取得的随机数放入数组中
Worksheets("sheet2").Rows(x).Copy Worksheets("sheet1").Rows(i)
Next i
End Sub
测试结果显示这个代码会取出重复数据,我已经对重复数据进行了判断,
Sub test()
Dim a(1 To 20) As Integer ‘从sheet2的40条数据中随机取出20条数据放入sheet1
For i = 1 To 20
yes = 1
Do While yes = 1
Randomize
x = Int((40 * Rnd) + 2)
yes = 0
For j = 1 To i ‘将取到的随机数与已经取到的数字经行对比.
If x = a(j) Then
yes = 1
Exit For
End If
Next j
Loop
a(i) = x '取得的随机数放入数组中
Worksheets("sheet2").Rows(x).Copy Worksheets("sheet1").Rows(i)
Next i
End Sub
测试结果显示这个代码会取出重复数据,我已经对重复数据进行了判断,
▼优质解答
答案和解析
因为你sheet2的40条数据有重复数据 For j = 1 To i ‘将取到的随机数与已经取到的数字经行对比. &nbs...
看了 vba取得N个随机数去重问题...的网友还看了以下:
已知字母组合成英语单词1、e e t t i n h r 2、e e r a t w h 3、o 2020-05-14 …
如果汽车在高速公路上最高时速为108Km/h司机的反应时间为0.5s,刹车后的加速度为5M/S的平 2020-05-16 …
讨论:关于如何求卷积x(t)*h(-t)的积分表达式?以前信号与系统里学过了x(t)*h(t)的表 2020-06-06 …
设有一高度为h(t)(t为时间)的雪堆在融化过程,其侧面满足方程z=h(t)?2(x2+y2)h( 2020-06-19 …
n-C3H7-H,i-C3H7-H这两个碳氢键是分别指CH3CH2CH2-H键和CH3-CH(CH 2020-07-07 …
变限积分[a,b]上的积分∫[f(x+h)-f(x)]dx令x+h=t,那原式=∫[a+h,b+h 2020-07-11 …
谁会用下列字母组成三个英语单词???g,a,l,o,ts,t,o,a,o,ha,s,f,t,ks,h 2020-11-01 …
对函数f(x)=x+1-x2作x=h(t)的代换,则不改变函数f(x)值域的代换是()A.h(t)= 2021-01-07 …
拜托你们了.救人一命胜造七级浮屠.一个冷冻室开始的温度是12摄氏度,开机降温后室温每小时下降6摄氏度 2021-01-09 …
甲、乙两座城市相距2200km,飞机以1200km/h的平均时速从甲城飞往乙城,球飞机到达乙城的时间 2021-01-09 …