vba-点名篇

论坛 期权论坛 期权     
枫的足迹   2019-7-15 09:20   4496   0
上次创新创业课,老师说点名太累了。而且老师还要抬头低头。想着之前俞老师给我们演示过的excel点名系统,闲暇之余自己也做了一下。


由于本着多角度、多层次的学习,我用两种思路做了俩。

第一个是基于userform-窗口做出来的,另外一个是基于msgbox-对话框。

01
uesrform



上图代码是为了加入日期,寻找到最新的一列,添加日期,打开签到窗口。


窗口如图



上图代码是设置“来了”或者是“没来”按钮,点击后再相应位置输出“1”或者是“0”。同时i作为公共变量,i= i+1记录下一行。
由此类推直到最后

02
msgbox

整体代码相对第一种简单一点


整体的思路就是循环每行一个名字,然后循环到某一行后excel自动翻页,然后就是如果“来了”是vbyes,“没来”是vbno,vbinformation是提示音

03
userform与msgbox两者比较

两者比较而言,msgbox的代码简单,但是实现的功能太少,后期想加入其他功能很难实现。
主要是觉得msgbox不够灵活,至少目前是这样的。uesrform就是运行的时候容易出错,用户使用起来可能不怎么友好,目前也没有解决的办法。

04
vba点名与老师点名

使用excel来点名和和老师点名相比
优点在于:
1、电子版比花名册更加不容易丢失,
2、老师讲完两节课后点名很累了,有这个不用开口的相信会轻松一点。
3、还有就是点名的时候不需要抬头、低头这么幸苦了。全程使用键盘tab和空格控制。
不足之处在于:
1、vba代码写出来的代码在不同的系统中运行可能会出错。当然,学校的电脑都是win7,64位的吧。估计这个错误发生的可能性较小。


其他有意思的事:
可以在这基础上使用rnd函数做随机点名。
其他方面,遇到worksheet的可以使用for each in。
还有一些其他的情况暂时想不出来,这里就不多说了,感兴趣的同学可以交流交流。更加希望找个一起玩vba的同学。
以下是视频展示(视频略有快进)
[iframe]https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_889245027409575936[/iframe]

噪声是键盘声
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:15
帖子:3
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP