2 gosnail Gosnail 于 2016.09.09 23:09 提问

如何EXCEL中按行随机抓取数据并保存 3C

请教个问题。我现在有个EXCEL表格,有600行数据,我想实现随机抓取一定行数(20,30……)再存放起来。抓取次数也可以自由选择(500次,600次,1000次……)。有没有什么好的方法能实现。求大神帮帮忙。
表格
Demo示例
网上找的一段VBA代码来进行随机不重复地提取。它能实现从某列(本例为A1:A600)中随机不重复地提取100个数据,将其放到指定区域(本例为C1:C100)中,但是只能实现随机抽取1次,可是VB我完全看不懂啊,不知道怎么改。
Sub RandomSelect()
Dim TempArr, TheList(1 To 600, 1 To 1) As Variant
TempArr = Range("a1:a600")
For i = 600 To 1 Step -1
j = Int(Rnd * i) + 1
TheList(i, 1) = TempArr(j, 1)
TempArr(j, 1) = TempArr(i, 1)
Next i
Range("l1:l50") = TheList
End Sub

2个回答

caozhy
caozhy   Ds   Rxr 2016.09.09 23:12

用rand生成随机数,按照随机数去读取一行。如果要不重复,可以用随机数对原始数据排序,然后取前n条。

Gosnail
Gosnail 我用MFC做了这个界面,要实现功能完全不知道该如何下手。如果不太麻烦,能不能给个demo小程序,我学习学习。
大约一年之前 回复
Gosnail
Gosnail 感谢您的回答,这是1次抽取;我想要多次抽取要怎么实现。我是新人
大约一年之前 回复
Marksinoberg
Marksinoberg   Ds   Rxr 2016.09.11 08:08

读取excel表中的数据,放入一个集合中就好了。再进行随你访问即可。

Csdn user default icon
上传中...
上传图片
插入图片