呵呵,标题党!!!
今天来做一个抽奖的小程序!
首先在表中添加两个按钮,还有选中一个单元格当做中奖人员显示窗!
当然,你还要有候选名单:
然后,打开VBE新建一个模块,使用public 定义两个变量。
Public o, a
然后双击开始按钮,写入代码:
Private Sub CommandButton1_Click()
For i = 1 To Sheets(2).Range('a99999').End(xlUp).Row
a = 0
o = i
Range('b7').Value = Sheets(2).Cells(o, 1).Value
DoEvents '释放程序控制权,允许其他事件
If a = 1 Then
Exit Sub
End If
Next
End Sub
代码很简单,通俗易懂。
第二句使用for语句,定义 变量i等于1 到表2的非空单元格的最后一行。
第三句把模块里定义的变量a赋值为0
第四句把模块里定义的变量o赋值为i
第五句让单元格(就是选中的那个)循环显示候选人
第六句很重要,是释放程序控制权,通俗讲就是可以同时执行其他的事件,如果没有这句的话,单元格内容将循环显示,就算按停止也不会结束,直到全部候选人显示完毕。
第七句以后用if判断a的值,如果等于1 ,就退出程序,结束for语句
双击停止按钮,写入代码:
Private Sub CommandButton2_Click()
a = 1
Rows(o).Delete Shift:=xlUp
End Sub
更简单了,把a赋值为1,是为了上面开始按钮而生的,其实就是让for语句停止在某一个数字上。
然后为了不让选中的人再次中奖,将选中过的人删除。
联系客服