ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何随机获取六行的数据?

如何随机获取六行的数据?

作者:绿色风 分类: 时间:2022-08-17 浏览:129
楼主
liuguansky
Q:假设源数据在表Sheet1中,有若400行,六列
在表Sheet2中随机获取表Sheet1的数据10行。要求打开一次做依次获取,在打开后的操作中数据不动,各位高手帮帮忙;谢谢了。就是Sheet1中的A1:E400的数据,打开文件就在表Sheet2中随机获取A1:E10
A:用如下工作表事件代码可以实现:

  1. Private Sub Workbook_Open()
  2.     If Len(Sheets("sheet2").Range("A1").Value) = 0 Then Call getRnd
  3. End Sub

  1. Sub getRnd()
  2.     Dim d, m, k&
  3.     Set d = CreateObject("Scripting.Dictionary") '创建字典项目
  4.     Do Until d.Count > 10 '当数组项目达到10个时,停止循环
  5.         myrnd = Int(Rnd(Time) * 399) + 1 '生成随机数
  6.         d(myrnd) = myrnd '添加字典项目
  7.     Loop
  8.     For Each m In d.Keys
  9.         k = k + 1
  10.         Sheets("sheet2").Range("A" & k).Resize(1, 5) = Sheets("sheet1").Range("A" & m).Resize(1, 5).Value '返回数据
  11.     Next
  12.     Set d = Nothing
  13. End Sub





该贴已经同步到
2楼
绿篱
膜拜下大神

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap