鹿建國 李茂華
[摘 要] 每學期末,試卷分數統計與分析是任課老師的常規工作,這里給出一種快速完成試卷分析的方法,使用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.