- 最后登录
- 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 编辑
E! y- [1 T5 R/ a1 q0 ` a; A
$ f( \& `1 j, f" P/ v年后公司一个事业部准备进行一次集体面试,来应聘者比较多,并且都需要通过面试考试,考试内容有8个单元,每个单元有20道题,为了体现公平,招聘组决定题目由应聘者自己抽取。3 d, p& N/ y o2 X& r2 x
5 T2 F$ _3 K) k; R) S, O怎么抽呢?用纸条写好抓阄显得太没水平了,于是考虑到用excel来解决,应聘者通过点击选题按钮获得题号,下图是截图。2 I0 }* g% u; \" ?/ r$ ~
, U4 c, g1 `$ A5 Y
实现方法很简单,具体步骤如下:
( j5 b$ Y3 c$ o D. E: W# k1、题号那一列的单元格里使用随机函数,因为题数是20,所以只要在1~20中取随机数即可,函数为=RANDBETWEEN(1,20)) i* l& z+ _ ^4 ]* p7 P1 q* }
2、其实这样本来就可以了,要刷新只要按"F9"或者"Ctrl+R"即可,不过为了使用方便,决定在页面加入一个按钮,具体为“插入---ActiveX控件中的按钮”,然后在设计模式下修改按钮上的文字为“重新选题”,再双击按钮进入设计窗口,输入代码"ActiveSheet.Calculate".$ D6 F- `5 Q9 E! e4 _
3、另存为“启用宏的工作薄”,到此一切搞定。(不过打开这个文件时需要同意这个文档启用宏)
7 [) g7 X5 |& V" C, U$ p Y
; P% s) |' J1 W/ G$ c这两天继续优化推出:随机选题升级版
4 B; s. v3 p' a) f/ x! y+ I: a+ E5 G, O* q, f1 W0 j
这个版本有两个按钮,按下开始选题时,题号会闪动变化,按下结束选题时,才停止。稍加修改,也可以做为抽奖程序。
+ C5 f( E# x* `- E8 y2 U q实现方法:不用单元格函数,按钮的代码如下:
: Z6 o# y$ b4 \3 w9 FDim a As Integer '
! f6 |5 Z- s P( WPrivate Sub CommandButton1_Click()3 X& O& e6 c# W" S6 [
a = 0
n" Z# ~1 K$ N. A3 Q' O$ nRandomize '初始化# J4 \7 b7 Z$ {5 |) K
10:
4 Q& T& @' v+ Z! @7 Y+ Q$ T* nFor i = 1 To 8
1 ~, }+ o2 ?: U' ?7 A/ oCells(i + 2, 3) = Int(Rnd() * 20) + 1 '在单元格中显示号码0 a2 g- ?8 r% [7 G) @- ]
Next
) Q5 |/ M* H. | }1 ~* CDoEvents '释放程序控制权
3 b7 P! N0 u* x4 z$ G* Y0 B6 |, ^If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序
( P) ^) a& P! M0 u8 E2 o/ r6 C% t GoTo 10& r, P1 O4 m. d, r2 D
End Sub& V* x8 C! J/ w
Private Sub CommandButton2_Click(): G1 Y' Y+ n: B
a = 1 '结束标志: S( @6 k2 j i4 r6 j7 p
End Sub/ n: t) w' W: w5 ^) v e7 n
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
-
总评分: 威望 + 10
金钱 + 20
贡献 + 10
查看全部评分
|