- 最后登录
- 2015-1-26
- 注册时间
- 2010-1-29
- 威望
- 49
- 金钱
- 746
- 贡献
- 180
- 阅读权限
- 30
- 积分
- 975
- 日志
- 0
- 记录
- 6
- 帖子
- 85
- 主题
- 11
- 精华
- 1
- 好友
- 4
签到天数: 15 天 [LV.4]偶尔看看III - 注册时间
- 2010-1-29
- 最后登录
- 2015-1-26
- 积分
- 975
- 精华
- 1
- 主题
- 11
- 帖子
- 85
|
本帖最后由 国产吉普车 于 2013-2-22 16:47 编辑 . O0 s- C1 \: T) E x1 S! N
) B" p c9 n: Y; q/ R o+ i) E" ~年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。
7 d6 Q+ {, B/ n: D% d& X. M- H! M, v9 D$ q* k4 q, y
怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。
4 j2 S9 }# f+ K2 A
( D8 H, U% p6 F6 S实现方法很简单,具体步骤如下:# S. K2 C# t+ K+ N7 r
1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)
; t. z3 |0 \0 M7 @6 V! _1 ?, r& V2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate".
* f2 i$ ^* z. l+ |/ N, R6 p3 I3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)* d/ f' c1 E+ j2 C5 |
. o! Q) C" w: a4 t6 m1 m! Z, Z$ S8 o这两天继续优化推出:随机选题升级版: m7 q- m1 D& {
( [: u' X/ T$ H% v+ S
这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。
# E0 _# [5 [; @% X$ }: Q. u' D- }实现方法:不用单元格函数,按钮的代码如下:; n6 ]- l. \+ J1 q5 \3 y, N5 @9 _
Dim a As Integer '& e; W1 [6 v% i7 ]7 K
Private Sub CommandButton1_Click()6 k: O5 J5 h0 X A5 `4 v
a = 0; V9 h: I+ @- ]3 k* H
Randomize '初始化
u j/ Y' g( c10:7 F7 c* u0 n7 G8 ~" t+ {
For i = 1 To 8
/ v4 D' K1 p$ X& z! xCells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码7 y4 W# G/ }. ?4 K1 @. E0 W
Next& I3 b' G( m" F
DoEvents '释放程序控制权7 m5 b, u8 v0 c5 {4 T/ E1 a: P
If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序
7 {2 W5 ]' M2 e" u' D/ k% K) I GoTo 10- `$ I6 b+ g9 ?) M$ w
End Sub6 u0 c1 ^, v6 H
Private Sub CommandButton2_Click()
% L* a. X5 ]( N% Y/ w5 O' I( qa = 1 '结束标志
0 H4 Y2 R$ |- o; `End Sub' h4 g/ J/ P2 [4 S$ _% J7 Y0 r
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|