Excel VBA实例教程-随机抽奖程序

视频加载中...使用VBA 的Rnd函数产生随机数,并使用所产生的随机数作为单元格行列数据 , 再使用Select方法将鼠标选区定位到此单元格,最后将此单元格的内容在某固定位置输出 。将以上的流程持续循环输出即可产生单元格被不断随机选中并将选中单元格的内容持续固定位置输出的效果 , 如此可模拟随机抽奖程序执行之状态(如上方视频展示) 。
Step1. 选区的确定
选定A1到B10区域为抽奖区并填入姓名,选定D5单元格为每次抽奖结果显示区 。并给这两个区域增加外框 。

Excel VBA实例教程-随机抽奖程序

选中结果区域D5单元格,并按①到③的顺序在开始选项卡中将D5中的文字加粗并更改颜色为红色 。
Excel VBA实例教程-随机抽奖程序

Step2. 命令按钮的添加及命名
如下图按①到③的顺序点选“开发工具”->“插入”->“命令按钮”,并点击F5单元格将命令按钮插入到F5单元格附近 , 然后使用鼠标拖动或键盘上下左右键微调将命令按钮安放于合适的位置 。
Excel VBA实例教程-随机抽奖程序

双击新添加的CommandButton1按钮进入VBE界面,在界面左侧靠下的属性窗口中将此按钮的“Caption”值修改为“抽奖”,并将“ForeColor”修改为红色(点击右侧值区域的黑色三角,在下拉选框中选择“调色板” , 并在调色板中点选红色) 。
Excel VBA实例教程-随机抽奖程序

经调整后,命令按钮的显示文字变为红色的“抽奖” 。
Excel VBA实例教程-随机抽奖程序

Step3. 代码的添加
在VBE界面右侧代码区域 Private Sub CommandButton1_Click() 子过程内部输入红色框所对应的代码:
Excel VBA实例教程-随机抽奖程序

代码使用循环次数t来控制执行时间,本例t<200表示每次点击“抽奖”按钮将对A1到B10单元格的人名进行200次的随机选择,若需增加执行时间可适当将此数据加大(如:由200增加至500) 。
随机数Rnd用来随机定位单元格地址,r随机范围为1到10 , c随机范围为1到2,修改r及c代码中的10、2可变更抽奖区域 。
r、c每次被赋新值后 , 其定位的单元格内容将被输出给D5单元格,以此造成D5单元格内容不断被修改模拟动态选择的过程 。
200次循环的最后一次随机到的单元格内容将被确定为本次抽奖的获奖者姓名 。
Step4. 执行的代码
返回前台sheet界面 , 点击命令按钮即可执行抽奖程序 。


注:开发工具选项卡的加载方法:
【Excel VBA实例教程-随机抽奖程序】开启功能区选项并在⑦的位置勾选“开发工具“,如果⑦处没有此选项可由③到⑦的步骤调出,最终点⑧完成开发工具选项的加载 。
Excel VBA实例教程-随机抽奖程序

相关经验推荐