今天一位教師粉絲發(fā)來了這樣一個小需求:在上課的時候面對太多的學(xué)生姓名橙垢,有時候不知道該點(diǎn)哪位同學(xué)的名來回答問題荷愕。他希望可以一鍵點(diǎn)擊就能實(shí)現(xiàn)隨機(jī)抽取學(xué)生姓名帅容,并播放出來的功能峡迷。
如下圖
這個功能實(shí)現(xiàn)其實(shí)很簡單银伟,用一行代碼就可以解決這個問題:
=INDEX(A:A,RANDBETWEEN(2,15))
A:A為姓名的范圍,RANDBETWEEN()隨機(jī)抽取的行號
但是這種方法比較呆板绘搞,遇到要增加或者減少的姓名的時候彤避,公式需要重新寫,比較不方便夯辖。而且也沒有播放的功能琉预。
用VBA的話,就可以很好的解決上面兩個問題蒿褂。先展示一下效果:Excel VBA 實(shí)例(25) - 班級隨機(jī)點(diǎn)名并播報_騰訊視頻
可以看到圆米,無論是增加或者減少姓名,點(diǎn)擊“隨機(jī)點(diǎn)名”的按鈕啄栓,都可以隨機(jī)抽取姓名娄帖,同時會播放內(nèi)容。
當(dāng)然昙楚,播放的內(nèi)容也是可以自定義的近速,你想播放啥內(nèi)容都可以~~~
代碼如下:
Sub?隨機(jī)點(diǎn)名()
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?&?"同學(xué)回答問題!"
Application.Speech.Speak?ssr
End?Sub
代碼很短,感興趣的可以在公號內(nèi)回復(fù)「隨機(jī)點(diǎn)名」自取試用堪旧,盡快吧削葱。
星球里的朋友有需求可以提供一對一的解釋和定制服務(wù),有問題可以聯(lián)系我淳梦!
相關(guān)閱讀:
Excel VBA 實(shí)例(24) - 新股(債)中簽一鍵批量查詢
Excel VBA 實(shí)例(23) - 一鍵批量提取word表格內(nèi)容
Excel VBA 實(shí)例(22) - 一鍵篩選其他工作表或工作簿的數(shù)據(jù)
歡迎交流佩耳!