- 最后登录
- 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 编辑
( V* k0 Y9 ?3 K! T" [
! h6 F& I0 ~. E2 G( n年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。
0 u# f! C+ j8 Y7 h6 P8 J( k- I% i( ]+ d) K8 V5 z9 ^, G6 g2 ?
怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。8 F* B8 W' }; c
8 d" `2 b5 c, {
实现方法很简单,具体步骤如下:' X3 l5 r0 b: N _ z: [1 ~8 G
1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)
! \2 c4 L1 ?# A9 P* X1 ^2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate".
+ ^5 I3 F5 \; X, r7 j2 j3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)/ N0 e3 }7 {8 {) T& u3 {
( c/ w* G: m* {1 P3 T- G: H' w
这两天继续优化推出:随机选题升级版+ E" i& i/ h" ^! N) c! I
3 R+ W, F- w$ s5 k& N- u
这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。
4 ~% |; A! \2 `* W/ X实现方法:不用单元格函数,按钮的代码如下:) {. e" c+ |& e+ g. `
Dim a As Integer ': e0 q1 o6 X# d& l
Private Sub CommandButton1_Click()
1 V. R* g/ B- m5 E* ~! r/ V, T6 wa = 0# |( ], I B4 _! _
Randomize '初始化! u' A' d5 y4 f9 O& A- G# z5 I
10:6 J0 J# g) F* w5 I1 s6 }
For i = 1 To 8
* b4 F! A. \) cCells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码$ p2 ]8 H; U- B) f3 v1 I
Next& L L* K& |1 I: S
DoEvents '释放程序控制权4 T+ x! {% i0 m( V1 U% o `& m6 g
If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序5 l+ D9 [) n: H
GoTo 10
0 `. M$ J% f& jEnd Sub) ]& j% n, y+ \
Private Sub CommandButton2_Click()! G) J( x9 E' [5 |& _; e! `
a = 1 '结束标志
9 Z9 E9 ]( p9 S3 `& f( k& vEnd Sub$ ]6 E& l1 g4 ~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|