乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel下载-Excel---高逼格|抽奖小系统,简单好用,大家可下载收藏

excel下载-Excel---高逼格|抽奖小系统,简单好用,大家可下载收藏

作者:乔山办公网日期:

返回目录:excel表格制作

已踏入工作的小伙伴最期待的当然是公司年会抽奖环节,吃不吃饭都无所谓的,如果能抽到个大奖,必然是一件很开心的事情~


现在大部门公司抽奖都是用编程技术制作个小程序,今天我们就说说如何利用Excel去制作一个抽奖小系统。


下面中点击【开始】按钮,屏幕上开始滚动员工姓名,点击【停止】按钮,抽出中奖人,并将中奖人名单添加到表格中去,方便领奖,同时已中奖者将不会参与后面的抽奖环节。


是不是很有意思呢?下面详细说说这个小系统的制作方法~


思路


一共制作三个小控件,【开始】按钮控制程序运行,【停止】按钮控制程序暂停,【清除】按钮清除已中奖者名单;


在用一个单元格展示人员名单滚动效果;


最后选定一块区域用于存放中奖者名单。


基本布局


选中Excel中一块区域,第一第二行合并单元格展示名称,B4单元格字体调大用于员工姓名滚动,D4:H12区域用于存放中奖者名单,格式调整比较简单,这里不再赘述。


添加控件


点击【开发工具】—【插入】,选择第一个【按钮】控件,插入,暂时先不指定宏,点击【取消】,将控件名字修改为【开始】,同理插入【停止】、【清除】控件,如下图所示:


人员名单准备


插页1【Sheet1】为抽奖系统界面,插页2【人员名单列表】为员工名单存放列;


输入代码


一共输入三段代码:


第一段:


第二段&第三段:


指定控件


回到插页系统界面,依次选中控件,右键选择【指定宏】,依次选择对应的宏,自此,程序完成。


点击【开始】按钮,即可进行抽奖。


完整代码


Dim flag


Sub 开始()


c = Rnd


Dim rng As Range


Set dic = CreateObject("scripting.dictionary")


n = 0


For i = 2 To 201


If Application.WorksheetFunction.CountIf(Range("d4:h12"), _


Worksheets("人员名单列表").Cells(i, 1)) = 0 Then


n = n + 1


dic(n) = Worksheets("人员名单列表").Cells(i, 1)


End If


Next


flag = True


Do


DoEvents


If flag Then


Cells(4, 2) = dic(Int(Rnd * dic.Count + 1))


End If


Loop While flag


End Sub


Sub 停止()


flag = False


For i = 4 To 12


For j = 4 To 8


If Cells(i, j) = "" Then


Cells(i, j) = Cells(4, 2): GoTo 100


End If


Next


Next


100:


End Sub


Sub 清除()


For i = 2 To 100


c = Rnd


Next


Range("d4:h12").ClearContents


End Sub


代码说明


代码语法比较基础,这里重点说下比较重要的地方:


1、抽奖重要的一点是已抽到的员工不在参与后续环节的抽奖,所以在进行后续抽奖的时候需要剔除前面已中奖者的名单,这里利用字典dictionary不重复性进行解决;


2、开始代码for循环是从2到201,是因为插页【人员名单列表】中,员工姓名分布在A列2至201行,如果有更多或者更少的员工,数字做相应更改即可;


3、Rnd函数是一个随机函数,随机返回(0,1)之间的小数;


4、停止代码中,再将中奖名单赋值到表格中之后,利用GoTo 100,跳出两个循环,截图这段代码,不用exit for 是因为 exit for 只会跳出第一个for 循环,不会跳出第二个for循环;


5、代码开始的语句“Dim flag”是非常有必要的,不然姓名滚动单元格会一直滚动;


6、代码中的很多数字是根据抽奖页面布局来确定的, 所以先布局好页面,在进行代码的书写,页面布局可灵活改变,代码数字做相应变动即可。


小结


以上就是Excel中抽奖小系统的制作方法,有问题的小伙伴欢迎留言讨论,如果觉得有用,欢迎关注我,定期分享数据小技巧!


后台回复 抽奖,可获取练习文件!


相关阅读

  • excel求和-Excel实用技能—求和方法大全

  • 乔山办公网excel表格制作
  • ~方法一:拖拽求和法1、拖动鼠标,选中需要求和的数据2、点击【开始】菜单下的【自动求和】按钮即可完成求和3、已完成求和的数据方法二:公式求和法1、如果需要求和的数据是连续
  • excel筛选-「Excel小技巧」--快速筛选

  • 乔山办公网excel表格制作
  • 相信大家对EXCEL已经有了一定的基础,那么一定知道筛选有快捷键可以执行(ALT+D+F+F);可是还有一种更加快速的筛选方法,现在就按照下面动图来学习吧在实际操作中可是使用:鼠标右
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网