鹿建国 李茂华
[摘 要] 每学期末,试卷分数统计与分析是任课老师的常规工作,这里给出一种快速完成试卷分析的方法,使用OFFICE内嵌的VBA开发而成,可大大提高学校办公效率。
[关 键 词] 试卷分析;VBA;編程;提高效率
[中图分类号] G712 [文献标志码] A [文章编号] 2096-0603(2017)13-0180-01
试卷分析是各学校教学工作的重要环节之一,也是学校教学质量评估的重要指标之一。因此,科学、高效地做好试卷分析,对提高教学质量、改进教学工作具有重要意义。现在还有许多教师用计算器手工计算,或者使用Excel的部分简单功能来协助完成,但是计算量大而且容易出错。因此,提高试卷分析的自动化水平,是改善试卷分析统计手段和提高教师工作效率的需要。基于Excel的VBA编程来编写试卷分析程序在我院应用多年,取得很好的效果。
Excel是目前最常用的数据处理软件之一,它提供的操作界面教师都非常熟悉,它不但具有强大的计算功能及表格功能,还提供了宏语言VBA(Visual Basic for Application),用于定制和扩展Excel的功能,实现Excel本身不具备的功能,通过VBA的开发,可以更快实现办公自动化。
下面以我院使用的学生考试成绩单为例说明使用VBA开发的过程。在编程之前首先对成绩单进行分析,成绩单中要处理的对象是总评成绩所在的列,范围是F5~F34及M5~M34。它的设计思路是建立一个一维数组,元素个数为80,然后把成绩赋值给数组每个元素,因每个班级人数有可能不同,所以,在赋值之前应判断该单元格的内容是否为成绩。然后编程对成绩数组进行相应的分析。把Sheet 2工作表重命名为“试卷分析”,分析结果将显示在该工作表中,单击“试卷分析”按钮完成试卷分析过程,该按钮的CLICK事件代码如下:
Private Sub CommandButton1_Click( )
On Error GoTo line:
Dim cj(80) As Single
Dim i,j,a,b As Integer
Dim smax,smin,spj As Single
Dim s59,s6065,s6570,s7075,s7580 As Integer
Dim s8085,s8590,s9095 ,s95100,szong As Integer
a = 0
For i = 5 To 34
If Trim(Worksheets("Sheet1").Cells(i,6)) <> "" Then
a = a + 1
cj(a) = Round(Worksheets("Sheet1").Cells(i,6))
End If
Next I
For i = 5 To 34
If Trim(Worksheets("Sheet1").Cells(i,13)) <> "" Then
a = a + 1
cj(a) = Round(Worksheets("Sheet1").Cells(i,13))
End If
Next I
smax = cj(1): smin = cj(1)
For i = 1 To a ‘統计各分数段人数
szong = szong + cj(i)
If cj(i) > smax Then smax = cj(i)
If cj(i) < smin Then smin = cj(i)
If cj(i) < 60 Then s59 = s59 + 1
If cj(i) >= 60 And cj(i) <= 65 Then s6065 = s6065 + 1
…
If cj(i) > 95 And cj(i) <= 100 Then s95100 = s95100 + 1
Next I ‘以下代码把统计结果显示在相应单元格中
Cells(6,5) = smax:Cells(7,5) = smin
Cells(8,5) = szong / a
Cells(10,5) = s59:Cells(10,6) = s59 / a * 100
Cells(11,5) = s6065:Cells(11,6) = s6065 / a * 100
…
Cells(18,5) = s95100: Cells(18,6) = s95100 / a * 100
MsgBox "试卷分析成功!"
Exit Sub
line:
MsgBox "您使用的不是标准格式的电子成绩单,请重新核对!"
End Sub
使用时把要分析的学生成绩单复制到“sheet1”工作表中,然后再点击“试卷分析”工作表中的“试卷分析”按钮就可以了。
使用上面的方法可以使本来比较麻烦的学生成绩分析在几秒钟之内完成,从而大大地提高教师的工作效率。使用标准化Excel格式成绩单的学校均可参照上述代码编写自己的“试卷分析助手”,程序代码嵌入Excel文件,不需要安装,使用方便的同时也可提高学校的办公自动化水平。当然,如果有必要的话也可补充其他内容直接生成格式统一的学生成绩分析记录表。
参考文献:
[美]John Walkenbach.Excel2003高级VBA编程宝典[M].北京:电子工业出版社,2005.