鹿建國(guó) 李茂華
[摘 要] 每學(xué)期末,試卷分?jǐn)?shù)統(tǒng)計(jì)與分析是任課老師的常規(guī)工作,這里給出一種快速完成試卷分析的方法,使用OFFICE內(nèi)嵌的VBA開(kāi)發(fā)而成,可大大提高學(xué)校辦公效率。
[關(guān) 鍵 詞] 試卷分析;VBA;編程;提高效率
[中圖分類(lèi)號(hào)] G712 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2017)13-0180-01
試卷分析是各學(xué)校教學(xué)工作的重要環(huán)節(jié)之一,也是學(xué)校教學(xué)質(zhì)量評(píng)估的重要指標(biāo)之一。因此,科學(xué)、高效地做好試卷分析,對(duì)提高教學(xué)質(zhì)量、改進(jìn)教學(xué)工作具有重要意義?,F(xiàn)在還有許多教師用計(jì)算器手工計(jì)算,或者使用Excel的部分簡(jiǎn)單功能來(lái)協(xié)助完成,但是計(jì)算量大而且容易出錯(cuò)。因此,提高試卷分析的自動(dòng)化水平,是改善試卷分析統(tǒng)計(jì)手段和提高教師工作效率的需要?;贓xcel的VBA編程來(lái)編寫(xiě)試卷分析程序在我院應(yīng)用多年,取得很好的效果。
Excel是目前最常用的數(shù)據(jù)處理軟件之一,它提供的操作界面教師都非常熟悉,它不但具有強(qiáng)大的計(jì)算功能及表格功能,還提供了宏語(yǔ)言VBA(Visual Basic for Application),用于定制和擴(kuò)展Excel的功能,實(shí)現(xiàn)Excel本身不具備的功能,通過(guò)VBA的開(kāi)發(fā),可以更快實(shí)現(xiàn)辦公自動(dòng)化。
下面以我院使用的學(xué)生考試成績(jī)單為例說(shuō)明使用VBA開(kāi)發(fā)的過(guò)程。在編程之前首先對(duì)成績(jī)單進(jìn)行分析,成績(jī)單中要處理的對(duì)象是總評(píng)成績(jī)所在的列,范圍是F5~F34及M5~M34。它的設(shè)計(jì)思路是建立一個(gè)一維數(shù)組,元素個(gè)數(shù)為80,然后把成績(jī)賦值給數(shù)組每個(gè)元素,因每個(gè)班級(jí)人數(shù)有可能不同,所以,在賦值之前應(yīng)判斷該單元格的內(nèi)容是否為成績(jī)。然后編程對(duì)成績(jī)數(shù)組進(jìn)行相應(yīng)的分析。把Sheet 2工作表重命名為“試卷分析”,分析結(jié)果將顯示在該工作表中,單擊“試卷分析”按鈕完成試卷分析過(guò)程,該按鈕的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 ‘統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)
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 ‘以下代碼把統(tǒng)計(jì)結(jié)果顯示在相應(yīng)單元格中
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 "您使用的不是標(biāo)準(zhǔn)格式的電子成績(jī)單,請(qǐng)重新核對(duì)!"
End Sub
使用時(shí)把要分析的學(xué)生成績(jī)單復(fù)制到“sheet1”工作表中,然后再點(diǎn)擊“試卷分析”工作表中的“試卷分析”按鈕就可以了。
使用上面的方法可以使本來(lái)比較麻煩的學(xué)生成績(jī)分析在幾秒鐘之內(nèi)完成,從而大大地提高教師的工作效率。使用標(biāo)準(zhǔn)化Excel格式成績(jī)單的學(xué)校均可參照上述代碼編寫(xiě)自己的“試卷分析助手”,程序代碼嵌入Excel文件,不需要安裝,使用方便的同時(shí)也可提高學(xué)校的辦公自動(dòng)化水平。當(dāng)然,如果有必要的話也可補(bǔ)充其他內(nèi)容直接生成格式統(tǒng)一的學(xué)生成績(jī)分析記錄表。
參考文獻(xiàn):
[美]John Walkenbach.Excel2003高級(jí)VBA編程寶典[M].北京:電子工業(yè)出版社,2005.