- 最后登录
- 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 编辑
- Y7 d- \/ L: G; G$ Y+ V0 h5 ^0 h, s6 q) h9 ^: ^' _0 q8 O
年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。9 i8 g+ k2 l3 ?4 w8 Q' k0 u4 K" M
U+ O1 `+ I2 w. x7 q怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。
* Z9 k( _$ e) q' G u" k, N0 w0 L
实现方法很简单,具体步骤如下:
" q* N* b( t6 d( U' K$ g! S1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)- U+ h7 `3 k6 ^; f2 ^& g; @
2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate"./ |) m' K9 g( O+ ]+ N
3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)
# }1 W% K# j2 I( ^ I/ @) I) L, b) d. Y
这两天继续优化推出:随机选题升级版- n, A" F; P+ e, I) T6 M$ d
# Z6 i) ?: A' s- a( W6 h2 U# z这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。3 C; B. a5 I( K9 c& Z# q
实现方法:不用单元格函数,按钮的代码如下:. c5 y6 ~4 u5 f1 I2 z
Dim a As Integer '% K( Q/ H6 [6 W3 @0 H( s
Private Sub CommandButton1_Click()
; k( }. O# g* R5 L9 _* y* _5 R0 ta = 0
$ e7 [7 T' q% @& l9 I" j( c6 bRandomize '初始化5 f! u- l( c1 L+ | j# s; H5 s
10:
$ _, P4 W% _1 x7 a# C5 D) L7 }; hFor i = 1 To 8! H: y# Z$ V! T
Cells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码# [1 k) I$ P- |7 h
Next( I2 w- a4 R4 g1 V, T l
DoEvents '释放程序控制权( q+ o" ?# v* b' b6 r- T6 S. z7 B
If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序
( A( L z6 b3 f1 q GoTo 10
8 v7 F/ o! [# F. ~3 r0 @End Sub6 O! j" J' p ?) z! g1 B* W4 l# l0 ]' |
Private Sub CommandButton2_Click()7 s+ s* T8 j. T1 h% G
a = 1 '结束标志
2 K) H" {5 J6 d/ N: c* \. bEnd Sub
0 D0 B1 q2 x& c- R D; a |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|