这几天朋友圈都在晒年会,看到各位抽到的大奖,异常羡慕。
反正我从来都中不到,闲极无聊,索性用 VBA 做个九宫格抽奖器自己抽着玩。
喜欢的话文末点个“好看”,谢谢支持!
运行效果:
按“开始”开始随机抽奖,按“停止”结束抽奖。
制作方法:
1. 在 Excel 中选取九宫格区域,填写奖品
2. 按 Alt+F11 打开 VBE,代码及释义如下:
Dim lucky As Integer'将lucky定义为模块级别变量
Sub 开始抽奖()
Dim i As Integer, j As Integer'i 和 j分别为行和列的值
Randomize'初始化随机数生成器
start:
lucky = 0 ' 初始化 lucky 的值为 0
Range("B2:D4").Interior.ColorIndex = 15 ' 初始底色为浅灰
i = (4 - 2) * Rnd + 2 ' 生成 2 到 4 之间的随机数值
j = (4 - 2) * Rnd + 2 ' 因为本例的行列值都在2到4之间
Cells(i, j).Interior.ColorIndex = 6' 抽中的底色为黄色
DoEvents'将控制权传给操作系统,即在程序执行中,略作停顿,
DoEvents '让系统处理完一定的事件后,再继续程序
DoEvents
If lucky = 1 Then Exit Sub ' 当 lucky 为1,则退出
GoTo start
End Sub
Sub 停止抽奖()
lucky = 1 ' 将 lucky 赋值为1
End Sub
3. 现在回到表格界面,点击“开发工具”-->"插入"-->"按钮" 分别制作两个按钮
4. 将按钮的文本分别改为“开始”和“结束”
5. 右键单击按钮,分别给两个按钮指定我们已经编辑好的宏,就完成了:
“开始”按钮对应“开始抽奖”宏
“停止”按钮对应“停止抽奖”宏
请注意:
带有宏程序的 Excel 文件后缀名为 .xlsm,2003 以下版本是 .xls
如果宏无法运行,可以点击“开始”-->"Excel 选项"-->“信任中心”-->“信任中心设置”-->“宏设置”-->“启用所有宏”
Excel学习世界
转发、在看也是爱!
领取专属 10元无门槛券
私享最新 技术干货