- 最后登录
- 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 编辑 % j4 C/ F: p8 V+ l, { ~
0 {' p' l1 A% Y" q1 @! f s
年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。
# {9 J7 H \% V. l
8 l8 y! A. o! K怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。* W% @5 Y. Q+ f* S5 {0 M
& M9 m* W/ c+ }3 F8 }; W( K v
实现方法很简单,具体步骤如下:
, \, a' P1 h+ t* P4 D2 Q4 Q1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)
! _, \& x+ e' N& L" L! d2 H. e2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate".5 l5 S! z/ a; f2 p) ]4 b( b. O& d
3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)" m* t& l8 O6 r3 R
1 H h$ S1 [* _. g7 O9 v, o这两天继续优化推出:随机选题升级版( {( Q9 A% _) }0 k& ^
# g+ M! d5 L0 i8 g这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。 |% t7 w9 i% X3 M4 a
实现方法:不用单元格函数,按钮的代码如下:% [+ S. T: ~/ N8 a
Dim a As Integer '
, s+ v9 }' F: PPrivate Sub CommandButton1_Click()
, U5 A8 e5 f% M. Oa = 09 u9 \+ z% v0 Q- S. k1 z, o# O
Randomize '初始化7 T+ f6 t5 l( N* Y
10:
7 r: E2 g, [& U, r2 bFor i = 1 To 8! ^3 I' T0 r6 M
Cells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码( ]+ o2 F9 Z9 H' Z& w1 {
Next
0 } h' b, Y! _+ A' O9 d" g! QDoEvents '释放程序控制权
$ a" }/ V/ Z1 E6 c* l9 k( b) F: UIf a = 1 Then Exit Sub '如果按下“结束”钮则终止程序
& Q0 t2 v8 D$ n I GoTo 10- M, z0 ]% K: k4 Q9 {
End Sub
5 M/ ^) K/ y7 _2 jPrivate Sub CommandButton2_Click()- a! V8 _3 q5 `& Q N; N" h+ ~
a = 1 '结束标志
: \8 F1 {. t7 k" P$ B% Y: JEnd Sub1 M c5 C6 F" `0 i+ c
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|