陳華鋒 孟繁蘋
摘要:成績(jī)處理是學(xué)校教學(xué)管理的一項(xiàng)重要基礎(chǔ)性工作,筆者結(jié)合工作情況,在Microsoft Office Excel工作環(huán)境中,通過VBA二次開發(fā),通過宏編程實(shí)現(xiàn)學(xué)生成績(jī)的自動(dòng)化處理,保障了成績(jī)處理的準(zhǔn)確性和時(shí)效性,大大提高了工作效率。
關(guān)鍵詞: 成績(jī)管理; excel vba;程序
成績(jī)管理是學(xué)校教學(xué)管理的一項(xiàng)重要基礎(chǔ)性工作,它對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生成績(jī)管理系統(tǒng)應(yīng)該能夠?yàn)橛脩簦▽W(xué)校管理者、教師、學(xué)生)提供充足的信息和快捷的統(tǒng)計(jì)、查詢服務(wù)。這也是學(xué)校實(shí)現(xiàn)管理科學(xué)化、規(guī)范化的一項(xiàng)重要內(nèi)容。成績(jī)管理自動(dòng)化的實(shí)現(xiàn)可以借助各種數(shù)據(jù)管理軟件如SQL Server、foxpro等,但這些大都涉及到專用軟件及大量編程工作,對(duì)操作人員而言太過于專業(yè)和生疏。為此,筆者結(jié)合平時(shí)工作應(yīng)用 ,在Microsoft Office Excel工作環(huán)境中,通過VBA二次開發(fā)宏編程實(shí)現(xiàn)學(xué)生成績(jī)的自動(dòng)化處理,保障了成績(jī)處理的準(zhǔn)確性和時(shí)效性,大大提高了工作效率。
一、系統(tǒng)需求分析
成績(jī)管理系統(tǒng)用戶分為學(xué)生、教師、管理員三類,功能需要分析如下:
1.學(xué)生??梢圆樵兂煽?jī)、名次。
2.教師??梢苑奖愕貙?shí)現(xiàn)班級(jí)成績(jī)錄入、修改、排名、統(tǒng)計(jì)成績(jī)合格率等功能。
3.管理員。負(fù)責(zé)成績(jī)系統(tǒng)的管理和維護(hù),主要功能需求如下:(1)班級(jí)管理:增刪班級(jí)、增刪學(xué)生名單。(2)科目管理:增刪班級(jí)科目;實(shí)現(xiàn)科目與任課教師關(guān)聯(lián)。(3)統(tǒng)計(jì)分析:以班級(jí)為單位,對(duì)各科學(xué)生成績(jī)進(jìn)行匯總;統(tǒng)計(jì)各科成績(jī)合格率,生成成績(jī)合格率統(tǒng)計(jì)表;按科目、班級(jí)分類統(tǒng)計(jì)學(xué)生補(bǔ)考情況。(4)匯總輸出:輸出班級(jí)成績(jī)統(tǒng)計(jì)表、合格率統(tǒng)計(jì)表、補(bǔ)考情況統(tǒng)計(jì)表。
二、系統(tǒng)算法分析
(一)工作表中單元格的數(shù)據(jù)計(jì)算
1.統(tǒng)計(jì)各科平均成績(jī):=IF(OR(D4:D54>0),AVERAGE(D4:D54),””)
2.統(tǒng)計(jì)各科不及格(低于60分)人數(shù):=IF(OR(D4:D54>0),COUNTIF(D4:D54,”<60”),””)。
類似統(tǒng)計(jì)良好人數(shù)、優(yōu)秀人數(shù)、良好率、優(yōu)秀率。
3.統(tǒng)計(jì)科目合格率:=1-D80/COUNTA($A$4:$A$75)
(二)工作表間數(shù)據(jù)判斷、數(shù)據(jù)復(fù)制、表格生成等計(jì)算
1.成績(jī)是否及格判斷
If (Not IsEmpty(Cells(3, j))) And (Not IsEmpty(Cells(k, 2))) And (CVar(Cells(k, j).Value) < 60)
2.登記成績(jī)
If CStr(Workbooks(filename).ActiveSheet.Cells(j + 1, 5)) <> “” Then
Cells(j, i).Value = CVar(Workbooks(filename).ActiveSheet.Cells(j + 1, 5).Value)
3.生成班級(jí)空白成績(jī)單內(nèi)容
Sheets(“空白表(課程)”).Copy
ActiveSheet.Name=班級(jí)
Range(“c2”).Value=學(xué)期
(三)工作表生成
1.生成班級(jí)成績(jī)單
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=”zzjtxy”
ActiveWorkbook.SaveAs ThisWorkbook.Path & “\班級(jí)” & “\” & ActiveSheet.Name & “成績(jī)單”
ActiveWorkbook.Close
2.生成成績(jī)合格率統(tǒng)計(jì)表
Sheets(“課程”).Cells((i - 7) * 2 - 1, j - 2).Value = CStr(Cells(3, j).Value)
Sheets(“課程”).Cells((i - 7) * 2, 1).Value = “成績(jī)合格率”
Sheets(“課程”).Cells((i - 7) * 2, j - 2).Value = CStr(Cells(63, j).Value)
3.生成補(bǔ)考安排表
Cells(j, 4).Value = Cells(j, 4).Value & IIf(Len(Cells(j, 4).Value) = 0, “”, “ “) & Sheets(“補(bǔ)考”).Cells(i, 4.Value
三、系統(tǒng)功能實(shí)現(xiàn)
本文以管理員功能需求為例說明。當(dāng)用戶以管理員身份登錄后,各部分功能如下:
1.班級(jí)管理。根據(jù)期末班級(jí)畢業(yè)情況和新學(xué)期班級(jí)增加情況,分別設(shè)置“增加”和“刪除”命令按鈕。針對(duì)增加班級(jí)設(shè)置單個(gè)輸入和批量增加兩種操作,以方便管理員的操作。添加新班級(jí)時(shí)設(shè)置班級(jí)名重復(fù)性判斷,保證工作表的唯一性。當(dāng)班級(jí)畢業(yè)需要在成績(jī)管理系統(tǒng)中刪除時(shí),設(shè)置二次詢問,以防管理員誤操作造成不必要的麻煩。在刪除的同時(shí)進(jìn)行該班數(shù)據(jù)備份,保證數(shù)據(jù)的完整性,使得以后的查詢可以正常進(jìn)行。
2.科目設(shè)置。對(duì)添加的班級(jí),按教學(xué)計(jì)劃(課程安排)設(shè)置學(xué)期科目,同時(shí)與任課教師一一對(duì)應(yīng),保證班級(jí)成績(jī)數(shù)據(jù)上報(bào)的唯一性和嚴(yán)肅性。
3.生成空白成績(jī)單。根據(jù)班級(jí)和科目設(shè)置,對(duì)在校班級(jí)生成學(xué)期成績(jī)空白表,每科目一份電子文件。電子文件以學(xué)期+班級(jí)+科目+教師形式命名,方便任課教師查找自己需要登記的文件并上報(bào)。
4.成績(jī)登記。教師登記任課班級(jí)的成績(jī)上報(bào)后,管理員通過“成績(jī)登記”功能,實(shí)現(xiàn)成績(jī)的自動(dòng)上傳。上傳結(jié)束后針對(duì)各班、各科成績(jī)進(jìn)行數(shù)據(jù)檢測(cè):一是開展數(shù)據(jù)的有效性檢測(cè),保證成績(jī)數(shù)據(jù)可靠;二是檢查成績(jī)漏報(bào)情況,保證數(shù)據(jù)的完整性。
5.生成班級(jí)成績(jī)單。成績(jī)上傳并通過檢測(cè)后,該功能將各班級(jí)學(xué)期成績(jī)匯總生成成績(jī)單。成績(jī)單的下方顯示“合格率統(tǒng)計(jì)、良好率、優(yōu)秀率、不及格名單”等數(shù)據(jù),方便班主任的管理工作。
6.補(bǔ)考安排。將不及格名單按班級(jí)、科目分類統(tǒng)計(jì),可以分別按班級(jí)或科目組織補(bǔ)考。
7.合格率統(tǒng)計(jì)。針對(duì)科目成績(jī)進(jìn)行合格率(以百分?jǐn)?shù)形式表示)統(tǒng)計(jì), 使全校學(xué)期成績(jī)率一目了然;同時(shí)將合格率不達(dá)標(biāo)的科目以特殊字體和顏色標(biāo)志,方便管理員下一步的操作。
四、結(jié)束語(yǔ)
Excel作為一種常用辦公軟件,是我們?nèi)粘9ぷ鞅夭豢缮俚囊环N數(shù)據(jù)處理軟件,結(jié)合VBA宏編程的應(yīng)用,Excel能夠?qū)崿F(xiàn)成績(jī)的高效自動(dòng)化,同時(shí)又有著極好的普及性和應(yīng)用性。
參考文獻(xiàn):
[1]魏汪洋,《從零開始學(xué)編程》,電子工業(yè)出版,ISBN:9787121242502,出版日期:2014 年9月
[2]伍遠(yuǎn)高,《xcel VBA編程實(shí)戰(zhàn)寶典》,清華大學(xué)出版社,出版日期:2014年8月