- 最后登录
- 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 编辑 3 Z* g4 w! C R _4 _
- e" Y' y8 ^: K# T) W
年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。4 i7 X% o" R) O" e9 c) {3 P7 X* ~2 w
' P4 I2 k4 y+ }* h6 i" i怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。1 a" X% Q$ L( {% ?
. ^) M" k3 t ~+ v# z实现方法很简单,具体步骤如下:
, Q. T, T5 Z$ D/ b4 E" t! R1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)2 |) D. c7 ~ G3 f7 Q$ y, U( j1 v/ K
2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate".
! ~8 P7 J7 P- I, Y5 V3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)) S+ A; E& z- f+ |" s/ i% ?
6 J8 m! a v9 M/ c, r" M, u这两天继续优化推出:随机选题升级版- ]# ^; C8 {1 H! g# w- p$ D
8 t9 U0 f' u q3 `* O
这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。
" r; P) [( U4 y+ i0 e* a实现方法:不用单元格函数,按钮的代码如下:8 h& J5 B7 ^2 U# ^
Dim a As Integer '
$ l9 t6 m6 `3 N! L' p r- ZPrivate Sub CommandButton1_Click()6 J R2 @0 m F/ S( q
a = 0
& C! v3 ~8 f+ e$ wRandomize '初始化
/ y; x0 l6 V L5 t/ [, J$ m6 x10:1 h) d4 Q8 a7 v" V* B! I( \0 r
For i = 1 To 8) ^! U! A f% E. h. W
Cells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码( \6 y b+ {5 ?5 z' Y1 |
Next7 R# g+ r) I5 ^" R" p$ u
DoEvents '释放程序控制权5 F( o0 j, n5 p7 I* O; g
If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序
( ^* B" ^3 L; E; Y! [5 \3 ] GoTo 10
6 p& F3 b( C/ _End Sub
! K$ _4 I. x$ G6 bPrivate Sub CommandButton2_Click()
4 h0 G" H; Y' q) o4 Fa = 1 '结束标志
. S3 K# `; D: z3 {End Sub
* f, J. k5 x! V6 C. z |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|