ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: gs960914

[求助] 有一列数据100个 从中随机抽取10个不重复的

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-3-28 23:38 | 显示全部楼层
香川群子 发表于 2014-3-28 23:33
图片上吃奶瓶的那是你孙子? 你有60多岁了吧。

是我儿子。

TA的精华主题

TA的得分主题

发表于 2014-3-29 07:53 | 显示全部楼层
本帖最后由 张雄友 于 2014-3-29 07:55 编辑
香川群子 发表于 2014-3-28 23:22
使用示例:

怎么不成功,请指点。设置一下,第点一次按钮就生成一次所需要的个数。

太公分猪肉规则.rar

21.56 KB, 下载次数: 76

TA的精华主题

TA的得分主题

发表于 2014-3-29 17:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
张雄友 发表于 2014-3-29 07:53
怎么不成功,请指点。设置一下,第点一次按钮就生成一次所需要的个数。

昨天早就在11楼贴上代码了,怎么你还在问这个问题?

TA的精华主题

TA的得分主题

发表于 2014-3-29 18:02 | 显示全部楼层
香川群子 发表于 2014-3-29 17:25
昨天早就在11楼贴上代码了,怎么你还在问这个问题?

今天感冒了还是问多一句:11楼代码只是对每次都抽固定个数(如10)个,但是我要第一次抽2个,第二个抽45个,第三次抽39个.......每次抽的个数可以选择。因为村里面每年都有人出生与死亡。

TA的精华主题

TA的得分主题

发表于 2014-3-29 18:38 | 显示全部楼层
张雄友 发表于 2014-3-29 18:02
今天感冒了还是问多一句:11楼代码只是对每次都抽固定个数(如10)个,但是我要第一次抽2个,第二个抽45个 ...


别胡说八道……这和村里每年都有人死亡没关系……你精神分裂了么?!

TA的精华主题

TA的得分主题

发表于 2014-3-29 18:42 | 显示全部楼层
香川群子 发表于 2014-3-29 18:38
别胡说八道……这和村里每年都有人死亡没关系……你精神分裂了么?!

以事论事!

TA的精华主题

TA的得分主题

发表于 2014-3-30 15:30 | 显示全部楼层
香川群子 发表于 2014-3-28 23:33
图片上吃奶瓶的那是你孙子? 你有60多岁了吧。

没有数据出来?

没有数据出来.rar

151.7 KB, 下载次数: 26

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-4-3 08:01 | 显示全部楼层
帮帮忙 将2个宏做在一起,做成一个按钮,点击后可以选题,并清空  “考试”  的E列数据

考试.rar

23.99 KB, 下载次数: 31

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-4-3 08:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-4-3 16:53 | 显示全部楼层
不放回的抽取10个。
  1. Sub obtRnd()
  2.     m = [a1].End(4).Row '获取A列中A1开始单元格的最大行数m
  3.     arr = [a1].Resize(m) '读取A列数据到数组arr
  4.    
  5.     n = 10 '指定要提取的数据个数n
  6.     If n > m Then MsgBox "n>m Err!": Exit Sub
  7.     Randomize '随机种子初始化 以保证每次得到不同的随机序列
  8.     Set d = CreateObject("scripting.dictionary")
  9.         
  10.         Do While d.Count <= n
  11.             t = Int(Rnd * (m - 1 + 1)) + 1
  12.             d(t) = d(t) + 1
  13.       Loop
  14.     [b1].Resize(n) = WorksheetFunction.Transpose(d.keys)
  15.    
  16. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 09:46 , Processed in 0.040522 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表