毛戰(zhàn)軍
(長(zhǎng)江大學(xué)一年級(jí)教學(xué)工作部,湖北 荊州434023)
在《高等數(shù)學(xué)》課程補(bǔ)考和重修考試結(jié)束后,都會(huì)把參加考試的學(xué)生的成績(jī)按每個(gè)班級(jí)分類制作成紙質(zhì)成績(jī)單送交班級(jí)所屬學(xué)院教學(xué)辦存檔。一般情況下,在閱卷完畢后,閱卷教師都會(huì)根據(jù)閱卷結(jié)果將學(xué)生成績(jī)制作成電子格式的成績(jī)總表(見(jiàn)圖1),再按分班成績(jī)單模板的要求,制作統(tǒng)一格式的分班成績(jī)單(見(jiàn)圖2)。以2014年9月《高等數(shù)學(xué)A(下)》(理工類)東校區(qū)考區(qū)為例,就有6個(gè)學(xué)院的66個(gè)班級(jí),共計(jì)422名學(xué)生參加補(bǔ)考,在向各學(xué)院送交分班成績(jī)單時(shí),就需要制作66個(gè)班的分班成績(jī)單。閱卷教師按分班成績(jī)單模板要求填寫(xiě)分班成績(jī)單的工作程序倒是很簡(jiǎn)單,先根據(jù)閱卷結(jié)果制作閱卷成績(jī)總表,再將總表中的信息按要求拷貝粘貼到分班成績(jī)單模板相應(yīng)的欄目中,然后將制作完畢的分班成績(jī)單保存在指定的文件夾中,在審核無(wú)誤后打印成紙質(zhì)成績(jī)單。如果只依靠手工操作,則操作動(dòng)作頻繁、工作量大、錯(cuò)誤率高、經(jīng)常需要返工,使得制作分班成績(jī)單成為《高等數(shù)學(xué)》補(bǔ)考和重修閱卷中的一個(gè)雖然簡(jiǎn)單但非常繁瑣的工作。為解決該問(wèn)題,特使用VBA語(yǔ)言針對(duì)分班成績(jī)單的制作需求編寫(xiě)VBA程序,實(shí)現(xiàn)了在閱卷成績(jī)總表中自動(dòng)判斷并讀取同一班級(jí)學(xué)生的成績(jī)信息,在分班成績(jī)單模板中自動(dòng)填寫(xiě)相應(yīng)欄目,將填寫(xiě)完畢的分班成績(jī)單自動(dòng)保存在指定的文件夾中,使這一工作能高效、精確地完成。
圖1 閱卷成績(jī)總表
圖2 分班成績(jī)單模板
制作分班成績(jī)單的主要過(guò)程是從已經(jīng)制作的閱卷成績(jī)總表中讀取信息,以班級(jí)為單位在分班成績(jī)單模板中填寫(xiě)以下的信息:系部名稱、班級(jí)名稱、閱卷教師名稱、參加考試的學(xué)生的學(xué)號(hào)、姓名、補(bǔ)考成績(jī)、備注(緩考、缺考等)。
程序的主要流程如下:①判斷并選擇同一班級(jí)學(xué)生;②按分班成績(jī)單模板要求填寫(xiě)相應(yīng)欄目信息;③按班級(jí)保存分班成績(jī)單。
1)前期準(zhǔn)備工作 閱卷教師按閱卷結(jié)果制作閱卷成績(jī)總表,將閱卷成績(jī)總表中的所有欄目信息填寫(xiě)完整,并將閱卷成績(jī)總表數(shù)據(jù)按班級(jí)名稱排序。
2)利用循環(huán)語(yǔ)句逐一對(duì)信息判斷 學(xué)生的信息在閱卷成績(jī)總表的第3行到第424行。
3)判斷是否是同一班級(jí)學(xué)生 設(shè)定某班級(jí)學(xué)生人數(shù)m=1,然后比較閱卷成績(jī)總表中b列“班級(jí)名稱”第n行數(shù)據(jù)是否與b列第n+1行數(shù)據(jù)相同。若相同,即為同一班級(jí)學(xué)生,該班級(jí)學(xué)生人數(shù)m+1;若不相同,則該班人數(shù)m不變,記錄同一班級(jí)學(xué)生信息在閱卷成績(jī)總表中所在行的情況。通過(guò)讀取閱卷成績(jī)總表中的信息,就可以在分班成績(jī)單模板中按要求填寫(xiě)各欄目信息。
4)填寫(xiě)信息 在閱卷成績(jī)總表中逐一讀取已判斷為同一班級(jí)學(xué)生的成績(jī)信息并寫(xiě)入在分班成績(jī)單模板相應(yīng)的欄目中:
Sheets(3).Range(“a”&3).Value=Sheets(2).Range(“l(fā)”&n).Value & “(系、部)”&Sheets(2).Range(“b”&n).Value & “班 課程高等數(shù)學(xué)A(下)學(xué)分6”
’將閱卷成績(jī)總表中的l列“學(xué)生院系”名稱、b列“班級(jí)名稱”按要求組成一個(gè)字符串填入分班成績(jī)單模板的“a3”單元格中。
’根據(jù)記錄的該班學(xué)生信息在閱卷成績(jī)總表所處行的情況,在分班成績(jī)單模板的第6行到第23行的a、b、c、d、e、f、g、h列中按要求填寫(xiě)該班學(xué)生的成績(jī)信息
5)保存分班成績(jī)單 在分班成績(jī)單模板中將同一個(gè)班級(jí)學(xué)生的成績(jī)信息填寫(xiě)完畢之后。為了便于審核和修改,將分班成績(jī)單模板按班級(jí)取名并保存在 “D:\11\”文件夾中:
6)將分班成績(jī)單模板復(fù)原 將分班成績(jī)單模板保存為班級(jí)成績(jī)單后,需要將已經(jīng)填寫(xiě)的信息刪除,便于再填入下一個(gè)班級(jí)的成績(jī):
’將分班成績(jī)單模板的第6行到第23行的a、b、c、d、e、f、g、h列信息清除。
該程序在winxp+office2003的工作環(huán)境下通過(guò),實(shí)現(xiàn)了2014年9月的這次高等數(shù)學(xué)A(下)(理工類)補(bǔ)考東校區(qū)考區(qū)學(xué)生成績(jī)從閱卷成績(jī)總表到各班分班成績(jī)單的自動(dòng)生成(見(jiàn)圖3)。經(jīng)過(guò)審核無(wú)誤后,進(jìn)入到打印審批過(guò)程,較好地解決了這一問(wèn)題。該方法可以移植到與高等數(shù)學(xué)A(下)(理工類)相類似課程成績(jī)處理的同一環(huán)節(jié)中,可以根據(jù)具體要求,對(duì)程序的人機(jī)對(duì)話界面進(jìn)行優(yōu)化,增加一些自動(dòng)判斷過(guò)程,就可更好地完成工作。
圖3 分班成績(jī)單
[1]Wal kenbach J.中文版Excel 2007高級(jí)vba編程寶典 [M].馮飛,焦瑜凈 譯.北京:清華大學(xué)出版社,2009:146-157.
[2]Wal kenbach J.中文版excel 2003寶典 [M].陳緬,裕鵬等 譯.北京:電子工業(yè)出版社,2004:439.