基于Excel VBA的成绩管理系统设计
作者:陈华锋 孟繁苹
来源:《魅力中国》2018年第23
        摘要:成绩处理是学校教学管理的一项重要基础性工作,笔者结合工作情况,在Microsoft Office Excel工作环境中,通过VBA二次开发,通过宏编程实现学生成绩的自动化处理,保障了成绩处理的准确性和时效性,大大提高了工作效率。
        关键词: 成绩管理; excel vba;程序
        成绩管理是学校教学管理的一项重要基础性工作,它对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户(学校管理者、教师、学生)提供充足的信息和快捷的统计、查询服务。这也是学校实现管理科学化、规范化的一项重要内容。成绩管理自动化的实现可以借助各种数据管理软件如SQL Serverfoxpro等,但这些大都涉及到专用软件及大量编程工作,对操作人员而言太过于专业和生疏。为此,笔者结合平时工作应用 ,在Microsoft Office Excel工作环境中,通过VBA二次开发宏编程实现学生成绩的自动化处理,保障了成绩处理的准确性和时效性,大大提高了工作效率。
        一、系统需求分析
        成绩管理系统用户分为学生、教师、管理员三类,功能需要分析如下:
        1.学生。可以查询成绩、名次。
        2.教师。可以方便地实现班级成绩录入、修改、排名、统计成绩合格率等功能。
        3.管理员。负责成绩系统的管理和维护,主要功能需求如下:(1)班级管理:增删班级、增删学生名单。(2)科目管理:增删班级科目;实现科目与任课教师关联。(3)统计分析:以班级为单位,对各科学生成绩进行汇总;统计各科成绩合格率,生成成绩合格率统计表;按科目、班级分类统计学生补考情况。(4)汇总输出:输出班级成绩统计表、合格率统计表、补考情况统计表。
        二、系统算法分析
        (一)工作表中单元格的数据计算
        1.统计各科平均成绩:=IFORD4D54>0),AVERAGED4D54),””
        2.统计各科不及格(低于60分)人数:=IFORD4D54>0),COUNTIFD4D54
        类似统计良好人数、优秀人数、良好率、优秀率。
        3.统计科目合格率:=1-D80/COUNTA$A$4$A$75
        (二)工作表间数据判断、数据复制、表格生成等计算
        1.成绩是否及格判断
        If Not IsEmptyCells3 j))) And Not IsEmptyCellsk 2excel自动生成排名))) And CVarCellsk j.Value < 60
        2.登记成绩
        If CStrWorkbooksfilename.ActiveSheet.Cellsj + 1 5)) “” Then
        Cellsj i.Value = CVarWorkbooksfilename.ActiveSheet.Cellsj + 1 5.Value
        3.生成班级空白成绩单内容
        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.生成成绩合格率统计表
        Sheets课程.Cells((i - 7 * 2 - 1 j - 2.Value = CStrCells3 j.Value
        Sheets课程.Cells((i - 7 * 2 1.Value = “成绩合格率
        Sheets课程.Cells((i - 7 * 2 j - 2.Value = CStrCells63 j.Value
        3.生成补考安排表
        Cellsj 4.Value = Cellsj 4.Value & IIfLenCellsj 4.Value = 0 “” “ “ & Sheets补考.Cellsi 4.Value
        三、系统功能实现
        本文以管理员功能需求为例说明。当用户以管理员身份登录后,各部分功能如下:
        1.班级管理。根据期末班级毕业情况和新学期班级增加情况,分别设置增加删除
令按钮。针对增加班级设置单个输入和批量增加两种操作,以方便管理员的操作。添加新班级时设置班级名重复性判断,保证工作表的唯一性。当班级毕业需要在成绩管理系统中删除时,设置二次询问,以防管理员误操作造成不必要的麻烦。在删除的同时进行该班数据备份,保证数据的完整性,使得以后的查询可以正常进行。
        2.科目设置。对添加的班级,按教学计划(课程安排)设置学期科目,同时与任课教师一一对应,保证班级成绩数据上报的唯一性和严肃性。
        3.生成空白成绩单。根据班级和科目设置,对在校班级生成学期成绩空白表,每科目一份电子文件。电子文件以学期+班级+科目+教师形式命名,方便任课教师查自己需要登记的文件并上报。
        4.成绩登记。教师登记任课班级的成绩上报后,管理员通过成绩登记功能,实现成绩的自动上传。上传结束后针对各班、各科成绩进行数据检测:一是开展数据的有效性检测,保证成绩数据可靠;二是检查成绩漏报情况,保证数据的完整性。
        5.生成班级成绩单。成绩上传并通过检测后,该功能将各班级学期成绩汇总生成成绩单。
成绩单的下方显示合格率统计、良好率、优秀率、不及格名单等数据,方便班主任的管理工作。
        6.补考安排。将不及格名单按班级、科目分类统计,可以分别按班级或科目组织补考。
        7.合格率统计。针对科目成绩进行合格率(以百分数形式表示)统计, 使全校学期成绩率一目了然;同时将合格率不达标的科目以特殊字体和颜标志,方便管理员下一步的操作。
        四、结束语
        Excel作为一种常用办公软件,是我们日常工作必不可少的一种数据处理软件,结合VBA宏编程的应用,Excel能够实现成绩的高效自动化,同时又有着极好的普及性和应用性。
        参考文献:
        [1]魏汪洋,《从零开始学编程》,电子工业出版,ISBN9787121242502,出版日期:2014 9
        [2]伍远高,《xcel VBA编程实战宝典》,清华大学出版社,出版日期:20148