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