教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

excel随机数(excel产生范围内随机数)

  excel随机数(excel产生范围内随机数)2021-07-23 18:41·VBA语言专业教育【分享成果,随喜正能量】风吹雨打知生活,苦尽甘来懂人生,生命太短,没时间留给遗憾,若不是终点,请微笑一直向前。你可能在一个人面前一文不值,却在另一个人面前是无价之宝。谨记自己的价值所在。这就是人挪活的道理所在。
  《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
  教程共两册,八十四讲。今日的内容是专题二"随机数(Random)在EXCEL工作表及VBA中的应用"的第5讲:随机数模拟抽奖过程
  第五节 实际场景中随机数的利用
  这一讲,我们讲这个专题的具体应用,对于随机数,虽然属于非常抽象的一个个的数字,在专题的开始我已经讲过随机数的概念,就是根据之前的数据是无法推测出后续的数据的,正是有着这样的原理,我们可以用于某些实际的场景,这里主要给大家模拟一种抽奖的场景,在此之前,我们还要讲一下在工作表中我们如何利用我们已经建立的MyRandomA函数。1 工作表中MyRandomA自定义函数的利用
  在代码的讲解中我们知道,MyRandomA函数有四个参数,这四个参数分别是产生随机数的最小值、最大值、要求产生随机数的个数,以及一个数组的下标(这个值不是必须的)。那么我们就在工作表中看看如何利用这个函数。首先我们看看我们的工作表需求:
  要求产生一个最大值是10,最小值是40的10个随机数。
  ① 我们要首先选中10个(即产生随机数的个数)横向的单元格:
  ② 在编辑栏录入公式:= MyRandomA(B2,B3,B4),然后同时按下数组的控制键CTRL+SHIFT+ENTER,就产生了10个我们要求的随机数。为什么要同时按下上面所说的三键呢?有兴趣的朋友可以参考我的《VBA数组与字典解决方案》这套教程。
  下面看看产生的随机数截图:
  如果要纵向产生十个随机数呢?可以利用公式:=TRANSPOSE(MyRandomA(B2,B3,B4)) 来获得,为什么要利用这个公式呢?同样请朋友们参考我的《VBA数组与字典解决方案》这套教程:
  2 利用随机数完成公司年会抽奖过程
  很多公司都用年会抽奖的传统,为了达到公平,公正的原则,我们也可以利用随机数进行操作,做一个简单的小程序即可以实现抽奖的过程。这个程序同样在本专题的程序文件中,大家可以利用,这里只是对随机函数部分做讲解,其他的过程大家可以自己理解,比如,上面的抽奖界面,先要抽出的三等奖10名,在点击准备后灰色区域将会出现所有参与抽奖人员的名单滚动,当点击抽奖时将会在"中奖名单即时公示"栏出现此轮抽奖的10名人员名单;当下一轮抽奖时,这轮的人员会下移。
  这个抽奖程序可以实现多轮抽奖,每轮抽奖的人数可以设定,中奖人员名单可以即时公布等等优点,非常的方便,可以作为大型及小型年会的娱乐应用。
  当然,这其中的VBA代码也很值得学习,很多函数过程利用的十分巧妙。可见VBA在适当的时候也是娱乐的高手。
  在抽奖之前,我们要事先录入参与人员的名单:
  在每轮开始前,利用总人员名单与已经中奖人员的差集求出此轮参与抽奖人员的中人数。然后利用之前讲解的Function MyRandomA 来完成我们抽奖过程,看下面的代码:
  Sub MYNZE() '开始抽奖
  Sheets("sheet5").Select
  TT = False
  Set mydic = CreateObject("scripting.dictionary")
  '求两个人名单的差集
  PCount = Cells(Rows.Count, "o").End(xlUp).Row
  jCount = Cells(Rows.Count, "J").End(xlUp).Row
  ARRA = Range("P2:P" & PCount)
  ARRB = Range("J1:J" & jCount)
  Arr = ARRE(ARRA, ARRB)
  Range("C2") = UBound(Arr)
  '将人名装入字典
  For i = 1 To UBound(Arr)
  mydic(i) = Arr(i)
  Next
  '求第几轮的抽奖
  RRR = Cells(3, "h").Value
  If RRR = "" Then
  k = 1
  Else
  k = Mid(RRR, 2, Len(RRR) - 2) + 1
  End If
  '预填已经完成抽奖的数组
  KONG = False
  If Range("J3") <> "" Then ARRC = Range("H3:J" & Cells(2, "J").End(xlDown).Row): KONG = True
  '开始抽奖
  UU = MyRandomA(1, UBound(Arr), Range("B2"))
  '回填数据
  For i = 1 To Range("b2")
  Cells(jCount + i, "h") = "第" & k & "轮"
  Cells(jCount + i, "i") = Range("a2")
  Cells(jCount + i, "j") = mydic(UU(i))
  Next
  Range("A6") = mydic(UU(i - 1))
  Set mydic = Nothing
  '新中奖名单
  ARRD = Range("H" & jCount + 1 & ":J" & Cells(2, "J").End(xlDown).Row)
  '重置中奖名单
  Range("H3:J" & Cells(2, "J").End(xlDown).Row).ClearContents
  j = 3
  For i = UBound(ARRD) To 1 Step -1
  Cells(j, "h") = ARRD(i, 1)
  Cells(j, "i") = ARRD(i, 2)
  Cells(j, "j") = ARRD(i, 3)
  j = j + 1
  Next
  If KONG = True Then
  For i = 1 To UBound(ARRC)
  Cells(j, "h") = ARRC(i, 1)
  Cells(j, "i") = ARRC(i, 2)
  Cells(j, "j") = ARRC(i, 3)
  j = j + 1
  Next
  End If
  MsgBox "你已经完成第" & k & "轮的抽奖!"
  End Sub
  代码截图:
  代码讲解:上述代码完成任意轮次的抽奖过程。
  ① UU = MyRandomA(1, UBound(Arr), Range("B2")) 这个语句是整个代码的核心部分,其中1是产生随机数的最小值,UBound(Arr)是随机数的最大值,Range("B2")是产生随机数的个数。UU是返回的中奖的人员序号。
  ② '回填数据
  For i = 1 To Range("b2")
  Cells(jCount + i, "h") = "第" & k & "轮"
  Cells(jCount + i, "i") = Range("a2")
  Cells(jCount + i, "j") = mydic(UU(i))
  Next
  Range("A6") = mydic(UU(i - 1))
  Set mydic = Nothing
  '新中奖名单
  ARRD = Range("H" & jCount + 1 & ":J" & Cells(2, "J").End(xlDown).Row)
  '重置中奖名单
  Range("H3:J" & Cells(2, "J").End(xlDown).Row).ClearContents
  j = 3
  For i = UBound(ARRD) To 1 Step -1
  Cells(j, "h") = ARRD(i, 1)
  Cells(j, "i") = ARRD(i, 2)
  Cells(j, "j") = ARRD(i, 3)
  j = j + 1
  Next
  If KONG = True Then
  For i = 1 To UBound(ARRC)
  Cells(j, "h") = ARRC(i, 1)
  Cells(j, "i") = ARRC(i, 2)
  Cells(j, "j") = ARRC(i, 3)
  j = j + 1
  Next
  End If
  上述过程是处理应产生的数据,首先是新产生的人员数据回填,这里利用了字典的键值,然后将新产生的数据和已经产生的数据分别放到两个数组中,之后清空数据,再次回填数据,先填新产生的中奖人员,然后再填入已经中奖的人员名单。
  最后我们看看实际的截图:
  还是非常的漂亮的。在实际的动作中,人员的滚动会是动态的效果,非常的有视觉效果。好了,具体代码还请大家参考本专题的程序文件。
  本节知识点回向:工作表中如何利用VBA中已经定义的函数?随机函数在抽奖过程中是如何利用的?在程序的开始部分,为什么要将人员的名单放到字典中,这样做的好处是什么?
  本节内容详细代码"参考002工作表.XLSM"
  我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
  ① 7→1→3→2→6→5或者7→4→3→2→6→5。
  ② 7→8
  各套教程内容简介:
  第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
  第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
  第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
  第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
  第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
  第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
  第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
  第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
  第六套教程:VBA信息获取与处理,这是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。

三亚旅游路线(武汉到三亚旅游攻略)三亚旅游路线(武汉到三亚旅游攻略)其实,这个世界没有世外,也没有桃源。当一个人对生活怀有足够的热爱,他实际上就找到了通往快乐星球的秘密通道。预定二晚民宿,买了二张机票,约了三个朋友工程学地精还是侏儒(地精工程和侏儒工程对比)工程学地精还是侏儒(地精工程和侏儒工程对比)工程学作为魔兽世界中一个特别好玩的专业技能,吸引了很多玩家,其中不乏PVP爱好者厄运LR等。可是大家有没有注意到,当工程学到达225的时侏儒工程学和地精工程学(地精工程和侏儒工程)侏儒工程学和地精工程学(地精工程和侏儒工程)工程在外域的实用性非常高。不考虑通过工程挣大量金币的玩家可以考虑。对副本和PVP都大有帮助。至于工程学带来的具体便利,可以看堂主的文章带工程学地精还是侏儒(tbc侏儒和地精工程学区别)工程学地精还是侏儒(tbc侏儒和地精工程学区别)202108101417NGA玩家社区作者NGA辛迪加联盟大師没错,我就是那个从安其拉开门第一个cd一直当术士T当到70级前夕的大师办公耗材有那些(办公用品和办公耗材)办公耗材有那些(办公用品和办公耗材)作为刚入职场的行政小白,真的是啥都不懂,估计每次想到需要为办公室购置办公耗材就真的real心塞,不知道怎么选,甚至有的办公耗材可能还不会用!今天青春韩国(8部熬夜也要追的韩国青春校园剧)青春韩国(8部熬夜也要追的韩国青春校园剧)1。喜欢的话请响铃喜欢的话请响铃是一部由李娜静执导,李雅妍苏宝拉共同编剧,金所炫郑家蓝宋江主演的爱情治愈电视剧,该剧是改编自韩国网路漫画家补血食材(真正的补血食物是这5种)补血食材(真正的补血食物是这5种)为什么突然变得容易生病食欲不振?弯腰再起身感觉头昏目眩,甚至天旋地转的?一照镜子发现脸色苍白,头发也特别容易脱落,指甲上好多竖纹隆起?为什么总是吃如何用电饭锅做蛋糕(做蛋糕教程详细步骤)如何用电饭锅做蛋糕(做蛋糕教程详细步骤)暑假了,家里宝贝有没有想吃蛋糕的呢?出去买怕外面卖的不卫生,自己做又总是塌成饼糊锅不好吃。今天分享一款不用烤箱,家有电饭锅,高压锅,蒸锅等可创维55寸液晶电视(创维55寸多少钱一台)创维55寸液晶电视(创维55寸多少钱一台)提起创维,大家最近几年可能关注不多,除了率先强调减少蓝光,引起一阵护眼比拼外,创维的创新并不算特别突出。不过最近,其2021年新款电视登场科普下袁隆平杂交水稻又突破记录第三代杂交水稻验收成果关于到现在科普下袁隆平杂交水稻又突破记录第三代杂交水稻验收成果这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下袁隆平科普下袁隆平的袁梦计划沙漠海水里种水稻关于到现在科普下袁隆平的ldquo袁梦计划rdquo沙漠海水里种水稻这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下
东岳指的是(东岳是指是什么意思)东岳指的是(东岳是指是什么意思)原创202107212129苏丹卿五岳归来不看山,黄山归来不看岳,这一句展现黄山之胜境的诗句,相信很多人耳熟能详。但今天要与你们分享的并非是黄山,而阑珊是什么意思(心意阑珊是什么意思)阑珊是什么意思(心意阑珊是什么意思)蓦然回首,那人却在灯火阑珊处中,阑珊是指灯火?2021年4月20日蚂蚁庄园最新答题已更新,蓦然回首,那人却在灯火阑珊处出自南宋辛弃疾的青玉案元夕洛阳装修公司排名(家装修公司排名前十强)洛阳装修公司排名(家装修公司排名前十强)各行各业中,都有许多知名品牌,当然装饰装修这行也不例外,装修界也有一个排行榜,这个排行榜是站在装修业主的角度从品牌的实力口碑,来介绍让更多业谷丙转氨酶低(转氨酶偏低说明什么)谷丙转氨酶低(转氨酶偏低说明什么)202107241917深圳市中医院科普指导深圳市中医院营养科李翠玉随着大家越来越重视健康体检不少人拿着报告来咨询除了关注体检报告上的也要关注哦今百闻不如一见下一句(苹果系统百闻不如一见下一句)百闻不如一见下一句(苹果系统百闻不如一见下一句)百闻不如一见,百见不如一干。谓听百次不如见一次,表示眼见比耳听靠得住。那百闻不如一见的下一句是什么?今天,wed114结婚网小编为大百闻不如一见下一句(百见不如一干的后面一句)百闻不如一见下一句(百见不如一干的后面一句)俗话说百闻不如一见,其实它的后半句才是经典,却总被人忽略中国五千年的历史沉淀为后世留下了诸多文化瑰宝,其中民间俗语是一种被广泛使用的语言读万卷书下一句(读万卷书,不如行万里路)读万卷书下一句(读万卷书,不如行万里路)读万卷书,不如行万里路是流传甚广家喻户晓的一句话,是前人的经验之谈。读万卷书就是博览群书,掌握理论知识行万里路是指要在生活实践和大自然的游历百闻不如一见的下一句(百闻不如一见,百见不如一干)百闻不如一见的下一句(百闻不如一见,百见不如一干)在日常生活中,我们会听到人们说起各种各样的俗语,虽然短小,但是凝练着很深的道理,有些也极为接地气,生动展现了我国文化的丰富多彩,从百闻不如一见什么意思(百闻不如一见苹果下一句)百闻不如一见什么意思(百闻不如一见苹果下一句)实践杂志出处出自汉书赵充国传。原文百闻不如一见,兵难隃度,臣愿驰至金城,图上方略。释义百闻不如一见的意思是听到一百次也不如亲眼见到一次百闻不如一见下一句(百闻不如一见的下一句谚语)百闻不如一见下一句(百闻不如一见的下一句谚语)真传一句话,假传万卷书!学习好技术,必须要下手练习,只有这样才会熟能生巧,才能在治疗疾病的时候举重若轻,治大病如烹小鲜!临床实操,是医读万卷书不如行万里路行万里路不如阅人无数(行万里路不如阅人无数下一句)读万卷书不如行万里路行万里路不如阅人无数(行万里路不如阅人无数下一句)记得十八年前大明湖畔的夏雨荷么。还珠格格这句台词影响广泛,成了网络流行词,其中的意境,谁琢磨谁知道。今天,我来