
`

参与工作的合作伙伴最期待公司的年度会议彩票. 他们是否吃都没关系. 如果他们能赢得大奖,那一定是一件很幸福的事〜
现在,该公司的大多数彩票抽奖都使用编程技术来创建一个小程序. 今天,我们将讨论如何使用Excel创建小型彩票系统.
单击下面的[开始]按钮,雇员的姓名开始在屏幕上滚动,单击[停止]按钮以抽出中奖者,并将中奖者列表添加到表单中以方便领取奖品. 参加以后的彩票.

有趣吗?让我们详细讨论如何制作这个小系统〜
想法
总共制作了三个小部件. [开始]按钮控制程序运行,[停止]按钮控制程序暂停,[清除]按钮清除获奖者列表;
单元格用于显示人员列表的滚动效果;
最后选择的区域用于存储获奖者名单.
基本布局
在Excel中选择一个区域,第一行和第二行合并单元格显示名称,增加B4单元格字体以滚动员工姓名,D4: H12区域用于存储获奖者列表,格式调整相对简单excel滚动抽奖,这里不再重复.


添加控件
单击[开发工具]-[插入],选择第一个[按钮]控件,插入,暂时不指定宏,单击[取消],将控件名称更改为[开始],然后插入[停止] ]的方式相同,[清除]控件,如下所示:


人员名单准备
插入页1 [Sheet1]是彩票系统的界面,插入2 [Personnel List List]是员工列表的存储列;

输入代码
总共输入三个代码:
第一段:

第二段和第三段:


指定控件
返回到交错系统界面,依次选择控件,右键单击并选择[Specify Macro],然后依次选择相应的宏. 从那时起,程序完成.

程序正在运行
单击[开始]按钮进行绘制.
完整代码
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. 彩票的重要一点是,被抽签的雇员没有参加后续彩票,因此,在进行后续彩票时,必须淘汰获奖者名单. 这里我们用字典字典来解决它; p>
2. 该代码的起始循环是2到201,因为在插入页面[人员列表列表]中,员工姓名分布在2到201行的A列中. 如果有更多或更少的员工,人数将相应地更改. 只是;
3. Rnd函数是一个随机函数,它随机返回(0,1);之间的小数;

4. 停止代码后,然后将获奖名单分配到表中,使用GoTo 100跳出两个循环. 截取此代码的屏幕快照,不要使用exit for,因为exit for仅会跳出第一个for循环. 将跳出第二个for循环;
5. 代码开头的语句“ Dim flag”是非常必要的,否则名称滚动单元将继续滚动;
6. 代码中的许多数字是根据彩票页面的布局确定的,因此请首先对页面进行布局. 编写代码时,可以灵活地更改页面布局excel滚动抽奖,并可以相应地更改代码编号.
在年会上,抽奖是亮点,所以您知道如何用Excel中的照片制作抽奖系统吗?在本期中,我将与您分享制作技巧.
绘画效果:
要达到上述效果,需要准备数据,并在Excel中输入相应的名称和照片,如下图所示:
注意: 图片的属性应设置为“随单元格更改位置和大小”.
操作步骤
第1步: 设置随机值
在一个空单元格中,这是单元格F1中的公式

=INDEX($A$1:$A$8,RANDBETWEEN(1,COUNTA($A$1:$A$8)))
公式说明:
INDEX函数用法: = INDEX(单元格范围,指定的行数,指定的列数)
RANDBETWEEN函数: 表示随机生成一个整数,语法: = RANDBETWEEN(起始值,结束值)
COUNTA功能: 计算非空单元格
第2步: 创建名称
单击公式定义的名称-名称管理器-new,然后将其重命名为“绘图”,在引用中输入公式
=INDIRECT("B"&MATCH(抽奖!$F$1,抽奖!$A$1:$A$8,0))
公式说明:
MATCH函数用法: = MATCH(查找值,搜索区域,搜索方法)
第3步: 插入图片
在表格中插入图片,然后在图片中插入文本框和任何图片,根据需要排版,然后选择文本框,输入= F1单元格,选择图片,在编辑框中输入=彩票,最后按F9键滚动浏览照片.
完成.
``''
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-181501-1.html
一楼