微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

Excel VBA 实例(25) – 班级随机点名并播报

Excel VBA 实例 永恒君 1580℃ 0评论
今天一位教师粉丝发来了这样一个小需求:在上课的时候面对太多的学生姓名,有时候不知道该点哪位同学的名来回答问题。他希望可以一键点击就能实现随机抽取学生姓名,并播放出来的功能。如下图这个功能实现其实很简单,用一行代码就可以解决这个问题:

=INDEX(A:A,RANDBETWEEN(2,15))
A:A为姓名的范围,RANDBETWEEN()随机抽取的行号

但是这种方法比较呆板,遇到要增加或者减少的姓名的时候,公式需要重新写,比较不方便。而且也没有播放的功能。

用VBA的话,就可以很好的解决上面两个问题。先展示一下效果:

可以看到,无论是增加或者减少姓名,点击“随机点名”的按钮,都可以随机抽取姓名,同时会播放内容。

当然,播放的内容也是可以自定义的,你想播放啥内容都可以~~~

代码如下:

Sub 随机点名()
Dim rng As Range
Set rng = Range("B:B").Find("姓名")
start_row = rng(2, 1).Row
end_row = rng.End(xlDown).Row
i = Int(Rnd * (end_row - start_row + 1)) + start_row
rng(3, 3) = Cells(i, 2)
ssr = "请" & rng(3, 3).Value & "同学回答问题!"
Application.Speech.Speak ssr
End Sub

代码很短,感兴趣的可以在公号内回复「随机点名」自取试用,尽快吧。

星球里的朋友有需求可以提供一对一的解释和定制服务,有问题可以联系我!

相关阅读:

Excel VBA 实例(24) - 新股(债)中签一键批量查询
Excel VBA 实例(23) - 一键批量提取word表格内容
Excel VBA 实例(22) - 一键筛选其他工作表或工作簿的数据

欢迎交流!

微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com

转载请注明:永恒君的百宝箱 » Excel VBA 实例(25) – 班级随机点名并播报

喜欢 (0)
发表我的评论
取消评论
表情