基于ExcelVBA开发普通高中成绩分析系统
2012-10-18娄青浙江省宁海中学浙江宁波315600
娄青(浙江省宁海中学,浙江宁波315600)
基于ExcelVBA开发普通高中成绩分析系统
娄青(浙江省宁海中学,浙江宁波315600)
文章介绍如何使用Excel VBA工具开发普通高中成绩分析系统,并给出详细代码。关键词:Excel;VBA;成绩分析
在普通高中尤其重点高中对学生成绩抓得很紧,学生每学期都要经历数次月考和联考,因此准确快速地分析考试成绩就显得尤为重要,微软的Excel软件是大家所熟悉和使用的,其操作方便及功能强大受人们欢迎,所以高中考试分析大多采用Excel软件,基于此,本文介绍以Excel VBA为工具,开发普通高中成绩分析系统。
普通高中成绩分析系统各校使用略有差异,但其无非由成绩输入、总分计算、平均分计算、班名次计算、段名次计算和分数段计算等六大主要模块组成。成绩输入模块通过Excel软件提供的复制和粘贴命令即可方便实现,平均分计算利用AVERAGE函数完成,我们着重介绍余下四大主要模块过程。系统用到的主要工作表如下:“班级情况”工作表(存放系统参数)、“分数段”工作表(存放分数段)、“班0”工作表(存放全段成绩)以及“班1”~“班n”工作表(存放1~n班的成绩)。
一、系统参数初始化过程
该过程获得参加考试的班级数、各班学生数和分数段参数等初始化数据,这些初始化参数位于工作表“班级情况”中,如图1所示,根据工作表中行、列的位置,即可取得系统参数值,该过程代码如下(代码已经注释):
图1
二、总分计算模块
该模块进行各班学生总分计算,通过循环语句获得各班成绩工作表,如图2所示(此为“班1”工作表前9名学生成绩数据),将学生各科成绩相加获得总分,如图3所示,其程序代码如下:
图2
三、班名次计算模块
该模块进行各班学生班名次排序计算,在该模块中,利用循环语句获得各班成绩工作表,按照总分降序、学号升序的办法进行工作表成绩排序计算,并且相同总分相同名次,如图3所示,该模块代码如下:
四、段名次计算模块
该模块进行年级段的段名次排序计算,在该模块中,先将各班学生成绩复制到“班0”工作表中,如图4所示(此为“班0”工作表进行计算后按总分降序排列前9名学生成绩数据),对年级段学生成绩进行总分降序、学号升序排列,按照相同总分相同名次计算段名次,利用循环语句,从“班0”工作表按照学号返回各班学生段名次,如图3和图4所示,其程序代码如下:
五、分数段计算模块
该模块进行各班分数段统计及计算,在该模块中,首先获取分数段参数中最高分、最低分、分数间距的值,如图1所示(此为“班级情况”工作表),利用以上参数进行循环运算,对各班进行各档分数段计算及合计,结果如图5所示(此为“分数段”工作表),该模块代码如下:
[1](美)杰克(Noel Jerke)等著.VisualBasic 5开发人员指南[M].北京:机械工业出版社,1997.10.
(编辑:王天鹏)
TP391
B
1673-8454(2012)10-0076-04