1. excel抽奖软件模板
用vba编个程序可以实现。
将一个案例分享给大家。程序页面如下:
部分代码如下:
Private Sub CommandButton4_Click()
'开始抽奖
Dim zb As String, dj As String, rs As Integer
Dim SARR(1 To 5000, 1 To 2) '存放本次抽奖的候选人清单 1-姓名 2-电话号码
'Dim lsARR '存放最近100次的候选人
Dim ZZ1 As Integer, ZZ2 As Integer, ZZ3 As Integer
'Dim jgarr
Dim ysARR(1 To 3, 1 To 3) As Integer '三种颜色参数
Dim zjZD '仅存放姓名+半角分号(;)+4位尾号
Dim myName As String
Dim hxRs As Integer, ZJRS As Integer '候选人数,中奖人数
Const lsRs = 100 '存放100位候选人
Set zjZD = CreateObject("scripting.dictionary")
'ReDim jgarr(1 To ZJRS) As Long
A = 0 '
ysARR(1, 1) = 255: ysARR(1, 2) = 250: ysARR(1, 3) = 0
ysARR(2, 1) = 255: ysARR(2, 2) = 10: ysARR(3, 3) = 10
ysARR(3, 1) = 255: ysARR(3, 2) = 250: ysARR(3, 3) = 0
'清空颜色
For I = 1 To 15
myName = "TextBox" & I
Set xx = Me.Controls(myName)
xx.BackColor = RGB(255, 255, 255)
xx.ForeColor = RGB(255, 215, 0)
xx.Font.Size = 10
xx.BackStyle = 0
ZZ3 = ZZ3 - 1
If ZZ3 = 0 Then ZZ3 = 15
Next I
zb = ComboBox1.Value
dj = ComboBox2.Value
ZJRS = ComboBox3.Value '中奖人数
'读取还可抽取人数
With Sheets("中奖人数设定")
For I = 3 To 8
If .Cells(I, 2) = zb Then Exit For
Next I
For j = 9 To 11
If .Cells(2, j) = dj Then Exit For
Next j
kcqrs = .Cells(I, j) '可抽取人数
End With
If ZJRS = 0 Or ZJRS > kcqrs Or ZJRS > 15 Then
MsgBox ("抽奖人数设置不正确!")
Exit Sub
End If
ReDim jgarr(1 To ZJRS, 1 To 2)
'读取候选人 放入sarr
Select Case zb
Case "A"
lh = 2
Case "B"
lh = 5
Case "C"
lh = 8
Case "D"
lh = 11
Case "E"
lh = 14
Case "F"
lh = 17
End Select
hxRs = 0
With Sheets("人员清单")
HH = 3
Do While .Cells(HH, lh) <> ""
If .Cells(HH, lh + 2) = "" Then '检查是否中奖,已经中奖的不得参与摇奖
hxRs = hxRs + 1
SARR(hxRs, 1) = .Cells(HH, lh)
SARR(hxRs, 2) = .Cells(HH, lh + 1)
End If
HH = HH + 1
Loop
End With
ZZ1 = 0: ZZ2 = 0: ZZ3 = 0
upperbound = hxRs
lowerbound = 1
'1-11:中奖人数和候选人数一样时,单独做一个循环
If ZJRS < hxRs Then GoTo 200
'一样时
Do While True
For ZZ2 = 1 To hxRs
myName = "TextBox" & ZZ2
Set xx = Me.Controls(myName)
xx.Text = SARR(ZZ2, 1) & Chr(10) & Right(SARR(ZZ2, 2), 4)
Next ZZ2
DoEvents '释放程序控制权,允许其他事件
Sleep (5) '延时ms
DoEvents '释放程序控制权,允许其他事件
If A = 1 Then GoTo 300
Loop
200:
Do While True
100:
SJS = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
MYKEY = Trim(SARR(SJS, 1)) & ";" & Trim(Right(SARR(SJS, 2), 4))
If zjZD.EXISTS(MYKEY) Then
ZZ1 = ZZ1 + 1
If ZZ1 > 10000 Then
MsgBox ("数据异常!!!")
Exit Sub
End If
GoTo 100
End If
'ZZ1 = ZZ1 + 1
'If ZZ1 = 101 Then ZZ1 = 1
ZZ2 = ZZ2 + 1
If ZZ2 = ZJRS + 1 Then ZZ2 = 1
'ZZ3 = ZZ3 + 1
'If ZZ3 = 4 Then ZZ3 = 1
'lsARR(ZZ1) = sjs
myName = "TextBox" & ZZ2
Set xx = Me.Controls(myName)
'xx.Text = Left(SARR(SJS, 2), 3) & "XXXX" & Right(SARR(SJS, 2), 4)
xx.Text = SARR(SJS, 1) & Chr(10) & Right(SARR(SJS, 2), 4)
zjZD.RemoveAll
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
If xx.Text <> "" Then
MYKEY2 = qczf(Left(xx.Text, InStr(xx.Text, Chr(10)) - 1)) & ";" & Right(xx.Text, 4)
zjZD.Add MYKEY2, I
End If
Next I
'xx.BackColor = RGB(ysARR(ZZ3, 1), ysARR(ZZ3, 2), ysARR(ZZ3, 3))
DoEvents '释放程序控制权,允许其他事件
Sleep (5) '延时ms
DoEvents '释放程序控制权,允许其他事件
300:
If A = 1 Then
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
xx.BackColor = RGB(ysARR(1, 1), ysARR(1, 2), ysARR(1, 3))
xx.ForeColor = RGB(0, 0, 255)
xx.Font.Size = 20
xx.BackStyle = 1
'ZZ3 = ZZ3 - 1
'If ZZ3 = 0 Then ZZ3 = 15
Next I
Exit Sub
End If
Loop
End Sub
Private Sub CommandButton5_Click()
A = 1
End Sub
Private Sub CommandButton6_Click() '记录中奖信息
Dim zjZD
Dim ZJRS
Dim zjArr
zb = ComboBox1.Value '组别
dj = ComboBox2.Value '等级
ZJRS = ComboBox3.Value '中奖人数
Set zjZD = CreateObject("scripting.dictionary")
'遍历文本框,获取中奖的电话号码
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
ARR = Split(xx.Text, Chr(10))
MYTEXT = qczf(ARR(0)) & ";" & qczf(ARR(1))
zjZD.Add MYTEXT, I
xx.Text = ""
xx.BackColor = RGB(255, 255, 255)
Next I
Select Case zb
Case "A"
lh = 2
Case "B"
lh = 5
Case "C"
lh = 8
Case "D"
lh = 11
Case "E"
lh = 14
Case "F"
lh = 17
End Select
With Sheets("人员清单")
For I = 3 To .Cells(10000, lh).End(xlUp).Row
'SARR(SJS, 1) & Chr(10) & Right(SARR(SJS, 2), 4)
'mytext = Left(.Cells(I, lh + 1).Text, 3) & Right(.Cells(I, lh + 1).Text, 4)
MYTEXT = qczf(.Cells(I, lh).Text) & ";" & qczf(.Cells(I, lh + 1).Text)
If zjZD.EXISTS(MYTEXT) Then
.Cells(I, lh + 2) = dj
End If
Next I
End With
End Sub
Private Sub Frame2_Click()
xxx = 1
End Sub
Private Sub UserForm_Initialize()
Dim xstr(1 To 6) As String '保存每列的数据
Dim ystr(1 To 3) As String
Dim zstr(1 To 15) As Integer '
xstr(1) = "A"
xstr(2) = "B"
xstr(3) = "C"
xstr(4) = "D"
xstr(5) = "E"
xstr(6) = "F"
ComboBox1.List = xstr
ystr(1) = "一等奖"
ystr(2) = "二等奖"
ystr(3) = "三等奖"
ComboBox2.List = ystr
For I = 1 To 15
zstr(I) = I
Next I
ComboBox3.List = zstr
ComboBox3.Value = 15
End Sub
2. 抽奖系统excel
1.在单元格E1输入公式:"=OFFSET($A$1,RANDBETWEEN(0,9),)"然后回车(即按“Enter"键)你会发现单元格E1为随机从A1:A10提取的一个数。
2.将鼠标放到单元格E1的右下角,等到鼠标标志变为小十字,按下鼠标左键然后往下拖,你会发现拖出的数据都为随机从A1:A10提取的一个数。
3. 用excel做抽奖软件
可能是别的软件也设置了F9快捷键。
关闭excel外的其它程序,看是否有冲突 如果是笔记本的话,用fn+f9试试 也可以不用F9,实现自动刷新,excel选项---公式---勾选“自动重算”
4. 简单抽奖券模板excel制作
1、第一步:用PPT制作一个等分的圆盘,例如可以设置五个奖项,则等分成五等份。
2、第二步:插入饼图,修改默认的excel表,把五项的数值都是20(因为是五等分),每个奖项插入文本框,输入奖项名称。
3、第三步:菜单栏找到插入——形状,插入一个小圆形和箭头,然后把它们鼠标单击选上。
4、第四步:鼠标右键,组合成一个图形。
5、第五步:插入一个方形,作为操作按钮,并输入文字。
6、第六步:设置动画,点击“动画”菜单。
7、第七步:将箭头设置“陀螺旋”效果,速度在0.04秒左右,重复“直到幻灯片末尾”。
8、第八步:将“效果”选项卡中的“动画播放后”设置一个任意的颜色,再将动画设置一个触发器来控制箭头的旋转即可。
5. ppt抽奖器模板下载
1、首先,我们在单词上编辑我们的名字。
2、如何使用PPT进行随机名称抽奖然后在我们的办公室打开它。打开我们的word文件,自动将我们的人员输入我们的ppt。
3、然后选择视图主文件,将文本框居中,并调整文本大小和字体。关闭后,我们可以根据需要调整副本。
4、选择主控后,我们在动画中将显示时间设置为0。从点击开关上取下挂钩。并适用所有。
5、然后输入我们的节目设置并单击设置中的循环节目。确定。
6、之后,我们可以开始随机随机抽签,按S暂停。
- 相关评论
- 我要评论
-