EXCEL 制作小型抽奖小程序

本文详细介绍了如何在Excel中通过VBA编程创建一个简单的抽奖系统,包括设置人员名单、随机选择中奖者、制作抽奖按钮和显示窗口,以及编写控制抽奖流程的VBA代码。
摘要由CSDN通过智能技术生成

制作步骤根据百度上有个博主发的,学习并记录一下,链接如下
https://baijiahao.baidu.com/s?id=1654171853322518408&wfr=spider&for=pc

1、 新建一个sheet取名[人员名单],包含【工号】及【人员名单】信息,工号唯一ID;
在这里插入图片描述
2、 新建第二个sheet取名[抽奖系统](以下步骤都在抽奖系统页面完成),按照图片样式设置奖项与中奖人员显示位置,背景色等内容按照自己喜好设置(网上下载一张好看的抽奖背景图,贴在下方);
在这里插入图片描述
3、在抽奖系统页面的A1单元格输入如下公式:
=RANDBETWEEN(2,COUNTA(人员名单!A:A))
RANDBETWEEN函数,随机生成区间2~COUNTA(人员名单!A:A)之间的随机数
【人员名单】第一行是标题,需要从2开始,返回的是随机的行数
再在A2单元格输入公式:
=INDEX(人员名单!A:B,抽奖系统!A1,1)&CHAR(10)&INDEX(人员名单!A:B,抽奖系统!A1,2)
,得到工号及人员名称,Char(10)为换行符,起到自动换行作用;
备注:如果没有出现换行,我们需要在“开始”选项卡中,选择“自动换行”(注意在设置时一定要选中要换行的单元格)
在这里插入图片描述
4、制作抽奖按钮,点击【插入】-【文本框】-【绘制横排文本框】,输入文字,设置字体:华文彩云,颜色:红色,字号:22,加粗,底色都点击【形状格式】-【形状填充】-【无填充】;
在这里插入图片描述
5、制作抽奖显示窗口,点击插入【文本】-【横向文本框】,点击新建的框,在上方公式栏输入:=$A$2,选中抽奖显示框中的人名和工号,设置字体颜色为红色,字号选择22,加粗,去除文本框的框线及背景色;
在这里插入图片描述
在这里插入图片描述
6、编写VBA代码,【开发工具】-【查看代码】,输入如下三段代码:(开发工具打开步骤放在文末)

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) ' For 64-bit Excel
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ' For 32-bit Excel
#End If
Dim mark As Boolean

Sub 开始抽奖()

    [A2] = "=INDEX(人员名单!A:B,抽奖系统!A1,1)&CHAR(10)&INDEX(人员名单!A:B,抽奖系统!A1,2)"
    mark = True
    Do While mark
        DoEvents
        Sleep 50
        ActiveSheet.Calculate
    Loop
End Sub

Sub 停止抽奖()
mark = False
End Sub

Sub 保存抽奖()
    CH = [A1]
    ActiveCell = [A2]
    Sheets("人员名单").Cells(CH, 1).EntireRow.Delete
        Application.EnableEvents = False
            [A2] = ""
        Application.EnableEvents = True
End Sub

7、再分别右击插入的矩形框,点击【指定宏】,分别指定以上设置的宏命令;
在这里插入图片描述
8、鼠标先点击要抽的几等奖后的单元格,然后再点击开始抽奖,名字开始滚动,点击停止抽奖,定格中奖姓名,点击保存抽奖,该单元格就显示中奖姓名。
备注:1、抽下一个奖的时候记得还是要鼠标先点击该奖品等级后面的单元格
2、已经中奖的人员会在人员名单里面删掉,所以不会重复中奖

开发工具打开步骤:
1、 点击【文件】-最下面【选项】-【自定义功能区】-勾上开发工具
在这里插入图片描述
2、再点击【信任中心】-【信任中心设置】-【宏设置】,勾选启用VBA宏
在这里插入图片描述

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值