利用Excel VBA技术进行多项选择题的自动评分
- 格式:doc
- 大小:17.50 KB
- 文档页数:5
Excel操作题也能自动评分作者:马震安来源:《电脑爱好者》2012年第16期我们分析一下,做Excel操作题目,实际上是对Excel文件的某些内部属性值进行设置,如字体、颜色、对齐方式等。
如果能够通过某种方法获取这些属性的变化情况或变化值,再借助VBA编程来做出判断,就可以为Excel操作题目进行评分了。
究竟这些属性的变化情况如何获取呢?实例:在Sheet1工作表中完成如下操作:(1)A1:E1内单元格跨列居中,字体设置为黑体、18磅、蓝色;(2)按公式:学期成绩=期中成绩*30%+期末成绩*70%,计算学期成绩;(3)表格数据区域单元格外边框红色双线,内边框蓝色双线,水平、垂直居中,底纹为黄色。
要求:在Sheet1工作表中操作题目能够清楚显示,有“交卷评分”按钮,并能自动反馈对答题结果的评价情况及具体分数。
题目及评分结果显示区域设计这个过程主要完成如何在Sheet1工作表中显示题目、显示评分结果。
首先,在Sheet1工作表中插入一个文本框,将操作题的题目输入或粘贴到文本框中。
由于插入的文本框无背景而影响显示效果,所以我们可以对文本框的格式进行设置。
在文本框的边框处击右键选择“设置文本框格式”,在弹出的“设置文本框格式”窗口中选择“颜色与线条”选项卡,对文本框的边框与填充色根据需要进行设置。
同理,我们在这个文本框的下面再插入一个比其高一些的文本框,同样对它进行边框与填充色的设置,并在其中输入“评分结果”,将字体设置大些,颜色为红色。
调整好两个文本框与工作表中数据的位置关系(图1)。
“交卷评分”按钮设计这个过程主要完成如何在Sheet1工作表中插入一个“交卷评分”的按钮。
首先,在Sheet1工作表中选择“视图→工具栏→窗体”菜单,在弹出的窗体工具栏中选择“按钮”,鼠标变为“十”,然后在工作表的合适位置按住鼠标左键画出一个按钮。
这时,会弹出一个“指定宏”的窗口,这是为按钮指定一个事件,即单击按钮时触发什么事件。
VBA的OFFICE操作题自动批阅技术的实现唐学军【摘要】"Fundamentals of Computer Application," is one of the more important basic education classes, students learn that it is mainly to allow students to better grasp the Word, Excelland other basic work used in more applications. However, most of these applications run in VBA programming. However, when the end of the student teacher test, marking papers become their problem. On the one hand, OFFICE larger amount of operating problems, more objective questions, there is no uniform measure;other papers of these operations when the theme marking the workload is relatively large, low teacher marking efficiency. This paper will present the reasons for the development of VBA OFFICE operating problems automatically marking technology and simple exposition universities now use automatic marking technology and its principles, the last of the VBA OFFICE operation of an automatic marking simple programming.%《计算机应用基础》是我国高等教育中比较重要的基础课之一,学生学习它主要是为了让学生更好的掌握Word,Excel等最基本、工作中使用较多的应用程序。
【内容摘要】对选择题的答题卷进行批改和分析是教学中经常要做的重要工作。
利用Microsoft Excel电子表格的强大功能,用FREQUENCY函数和数组公式、COUNT函数对选各题各选项的人数及百分比进行统计;用IF函数和SUM函数自动计算单项选择题的总得分;用VLOOKUP 函数和SUM函数自动计算不定项选择题的总得分。
【关键词】Excel 选择题自动结分统计分析考试是教学中不可缺少的环节,是检查教学质量的重要手段。
考试可以促进、激励学生的进步发展,让教师检查、诊断学生的学习是否达到教学大纲规定的要求,同时给教师提供反馈信息,以便及时调整教学进度,改进教学方法,提高教学质量。
而要达到以上目的,试卷分析是很重要的环节,只有对考试结果进行全面细致的分析,才能找出教和学双方存在的问题,找出有针对性的解决方法,提高教学效果。
而全面细致的分析必须要有详细的数据,如及格率、优秀率、平均分、标准差、各分数段人数、各题难度等,特别是对每题的难度分析,对搞清每个知识点的落实掌握情况是很重要的。
而选择题答卷的统计分析,由于一般的平时测验都没有答题卡和读卡机,老师要对选择题进行手工逐题的批改记分,如要对各题的答题情况进行比较详细的分析,许多老师用打五划“正”的方法,来统计各题的做对和做错人数。
本人也经常做这样的事,感到效率很低,且容易出错搞不准确。
想到用Excel对考试结果数据进行及格率、优秀率、平均分、标准差、各分数段人数分析很容易,能不能也用Excel对选择题进行比较详细的分析,通过反复摸索,找到了以下方法。
下面以60人的班级,20题选择题为例,多于60人或少于60人可用插入行或删除行来调整,多于20题或少于20题用插入列或删除列来调整,都不影响表格的性质。
对单选题的分析1.先新建一个空白的Excel工作簿,工作表Sheet1重命名为“1班”,输入表格头、题号、学号、姓名,C3:V62为数据输入区(如图1)。
基于Excel VBA的多考场电子成绩自动统计作者:陆娇娇来源:《电脑知识与技术》2016年第15期摘要:随着计算机技术的飞速发展,高校本科课程考核方式的改革,诸多高校已从传统的纸质试卷考核转为无纸化考核,减少了教师工作量,极大地提高了教师的工作效率。
然而,若要对一门课程多考场的许多Excel表格中的成绩进行相关统计,全靠人工手动计算不仅耗时耗力,而且还容易出错。
为此,利用Excel VBA方便、灵活、功能强大等特点实现多张表格成绩的自动整合与统计,简化了教师的工作,提高了效率。
关键词:Excel VBA;电子成绩;自动统计中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)15-0218-021 引言在高校日常教学中,课程考核占据十分重要的地位,是教学中必不可少的环节,根据考核可以检查课程制定的目标是否实现了教育目的,可以准确地判断出学生掌握课程的程度,以方便课程教学设计的有效改进[1]。
鉴于传统纸质试卷考核的出卷、阅卷、统计分析成绩工作量大等诸多不足,许多高校采用无纸化上机考核方式,全部计算机阅卷,减轻了教师的工作[2]。
然而,对于像大学计算机这种全校性质的公共课程的考核,因为人数较多,机房有限,机器数量有限,往往组织一场考试是不够的,需要组织多场考试,而每一场考试后都会生成一份本次考试的电子成绩。
若想了解所有考生本次考试的情况,并对所有学生的各分数段的人数进行统计分析,需要将各个考场的数据进行整合。
如果Excel表格的数量不多,人工统计无妨;如果数量较多,完全手工统计,不仅耗时耗力,而且易出错。
为了解决上述问题,将教师从繁重的手工劳动中解放出来,可采用Excel作为系统编写工具,Excel 自带的系统开发工具VBA(Visual Basic for Applicatio)方便、灵活、功能强大等特点,可以直接对Excel对象进行编程[3],实现多张电子表格成绩的自动整合,大大简化了教师的工作,提高了其工作效率。
利用excel vba制作多选题考试系统面对大量的选择题考试,如果印刷纸质试卷,考完后由教师人工阅卷,不但效率低下,而且浪费人力、物力,还很容易出错。
即使学校有条件使用机读卡考试,也会提高成本,浪费财力。
我们利用excel vba制作了选择题考试系统,使用方便,节约人力、物力,深受广大教师的欢迎。
下面我以多选题为例介绍一下具体做法,供读者参考。
一、界面设计启动exce12003,把sheetl更名为“多选题”,sheet2更名为“多选题库”,在“多选题”中输入相应的内容,把窗口右上角的“垂直拆分块”拖动到第五行的下边缘,再点击“窗口一冻结窗格”。
两个按钮以后再添加,如图1所示。
把题目录入到“多选题库”中,其中第一行为字段名,在al -hl中分别输入:章、题号、答案、题干、a. b. c.d。
第二行以下为题目,如图2所示。
录入完毕后统计一下题目总数(我这里共录入了30 3道题,考试抽取20道题,考试时间共3 0分钟),在“多选题”的下列单元格中分别输入内容(ol:总题数、pl:303. 02:抽题数、p2:20. 01:考试时间(分钟)、q2:3 0)。
选择“工具一保护一允许用户编辑区域”,把b2. d2. h5放入其中。
至此,准各工作基本完毕。
二、代码编辑限于篇幅,以下只介绍代码编辑中的技术性问题,详细请参阅http:// /413660998?ptlang=2052。
按alt+fll键,进入vba编辑界面,按ctrl+r显示“工程资源管理器”窗口,按f4显示“属性”窗口。
1.启动代码简介双击“microsoft excel中对象”中的“thisworkbook”,在右侧窗口中输入代码。
这部分代码触发workbook_open()事件,主要有三项任务。
其一是利用“worksheets(”多选题库”).visible:xlsheethidden”隐藏题库;其二是清除上一名考生保存的信息;其三是利用msgbox语句给出“考试说明和答题注意事项”。
【内容摘要】对选择题的答题卷进行批改和分析是教学中经常要做的重要工作。
利用Microsoft Excel电子表格的强大功能,用FREQUENCY函数和数组公式、COUNT函数对选各题各选项的人数及百分比进行统计;用IF函数和SUM函数自动计算单项选择题的总得分;用VLOOKUP 函数和SUM函数自动计算不定项选择题的总得分。
【关键词】Excel 选择题自动结分统计分析考试是教学中不可缺少的环节,是检查教学质量的重要手段。
考试可以促进、激励学生的进步发展,让教师检查、诊断学生的学习是否达到教学大纲规定的要求,同时给教师提供反馈信息,以便及时调整教学进度,改进教学方法,提高教学质量。
而要达到以上目的,试卷分析是很重要的环节,只有对考试结果进行全面细致的分析,才能找出教和学双方存在的问题,找出有针对性的解决方法,提高教学效果。
而全面细致的分析必须要有详细的数据,如及格率、优秀率、平均分、标准差、各分数段人数、各题难度等,特别是对每题的难度分析,对搞清每个知识点的落实掌握情况是很重要的。
而选择题答卷的统计分析,由于一般的平时测验都没有答题卡和读卡机,老师要对选择题进行手工逐题的批改记分,如要对各题的答题情况进行比较详细的分析,许多老师用打五划“正”的方法,来统计各题的做对和做错人数。
本人也经常做这样的事,感到效率很低,且容易出错搞不准确。
想到用Excel对考试结果数据进行及格率、优秀率、平均分、标准差、各分数段人数分析很容易,能不能也用Excel对选择题进行比较详细的分析,通过反复摸索,找到了以下方法。
下面以60人的班级,20题选择题为例,多于60人或少于60人可用插入行或删除行来调整,多于20题或少于20题用插入列或删除列来调整,都不影响表格的性质。
对单选题的分析1.先新建一个空白的Excel工作簿,工作表Sheet1重命名为“1班”,输入表格头、题号、学号、姓名,C3:V62为数据输入区(如图1)。
使用E x c e l对多项选择题自动评分并统计正确率【内容摘要】对选择题的答题卷进行批改和分析是教学中经常要做的重要工作。
利用Microsoft Excel电子表格的强大功能,用FREQUENCY函数和数组公式、COUNT函数对选各题各选项的人数及百分比进行统计;用IF函数和SUM函数自动计算单项选择题的总得分;用VLOOKUP函数和SUM函数自动计算不定项选择题的总得分。
【关键词】Excel 选择题自动结分统计分析考试是教学中不可缺少的环节,是检查教学质量的重要手段。
考试可以促进、激励学生的进步发展,让教师检查、诊断学生的学习是否达到教学大纲规定的要求,同时给教师提供反馈信息,以便及时调整教学进度,改进教学方法,提高教学质量。
而要达到以上目的,试卷分析是很重要的环节,只有对考试结果进行全面细致的分析,才能找出教和学双方存在的问题,找出有针对性的解决方法,提高教学效果。
而全面细致的分析必须要有详细的数据,如及格率、优秀率、平均分、标准差、各分数段人数、各题难度等,特别是对每题的难度分析,对搞清每个知识点的落实掌握情况是很重要的。
而选择题答卷的统计分析,由于一般的平时测验都没有答题卡和读卡机,老师要对选择题进行手工逐题的批改记分,如要对各题的答题情况进行比较详细的分析,许多老师用打五划“正”的方法,来统计各题的做对和做错人数。
本人也经常做这样的事,感到效率很低,且容易出错搞不准确。
想到用Excel对考试结果数据进行及格率、优秀率、平均分、标准差、各分数段人数分析很容易,能不能也用Excel 对选择题进行比较详细的分析,通过反复摸索,找到了以下方法。
下面以60人的班级,20题选择题为例,多于60人或少于60人可用插入行或删除行来调整,多于20题或少于20题用插入列或删除列来调整,都不影响表格的性质。
对单选题的分析1.先新建一个空白的Excel工作簿,工作表Sheet1重命名为“1班”,输入表格头、题号、学号、姓名,C3:V62为数据输入区(如图1)。
利用ExcelVBA技术进行多项选择题的自动评分
作者:王读祥张军
来源:《沿海企业与科技》2008年第04期
[摘要]VBA的主要任务是编写代码、操作Office对象、完成特定的任务。
利用VBA技术可以快速在Excel制作出计算机自动判卷系统。
文章对多项选择题的自动判分功能进行探讨,并设计出相应的程序。
此功能已在计算机课程结束考试中发挥了较好的效果。
[关键词] VBA;控件;自动判卷
[作者简介]王读祥,安徽省蚌埠海军士官学校计算机教研室主任,讲师,安徽蚌埠,233012;张军,安徽省蚌埠海军士官学校教保科科长,讲师,安徽蚌埠,233012
[中图分类号] TP317.3 [文献标识码] A [文章编号] 1007-7723(2008)04-0061-0002
也许您是一位老师,正面对一堆还未批改的学生试卷而发愁。
以前您如果想解决这样的问题,可能需要学习很多的编程专业知识。
而现在您只要懂得Excel,就可以实现这些看起来很难的任务。
通常利用计算机自动判卷只能用于客观题,目前的电脑还没有足够的能力去解决主观题,而客观题通常包括判断题、单项选择题、多项选择题、填空题,其中最为复杂的是多项选择题的设计,本文着重讨论利用Excel VBA技术实现多项选择题的自动判分功能,其余几种题型读者可参照实施。
一、多项选择题界面设计
多项选择题的设计是一个难点,由于它的答案具有多样性和不确定性,决定了多项选择题的界面应该具有选项的独立性和平等性的特点,选项之间不能相互干扰,因此可采用复选框作为选项控件(设计界面见图1)
二、多项选择题输入方法
为了方便电脑识别答案,将多项选择题答题卡放在“答题卡”工作表Worksheets(2)中(见图2),将标准答案放在“标准答案”工作表中Worksheets(3)(见图3)。
复选框类似于开关按钮,当它的常用属性Value的值为-1时,表示该项选中,则将该项录入到“答题卡”工作表中;当Value为0时,表示该项未被选中,就不录入。
图1中的控件添加代码如下:
Option Explicit
'定义一个模块级别的变量
Dim i As Integer
'******第一题的四个选项******
'选项A控件
Private Sub CheckBox1_Change()
i = CheckBox1.Value
If i = -1 Then
Worksheets(2).Cells(6, 2).Value = "A"
Else
Worksheets(2).Cells(6, 2).Value = ""
End If
End Sub
'选项B控件
Private Sub CheckBox2_Change()
i = CheckBox2.Value
If i = -1 Then
Worksheets(2).Cells(7, 2).Value = "B"
Else
Worksheets(2).Cells(7, 2).Value = ""
End If
End Sub
'选项C控件
Private Sub CheckBox3_Change()
i = CheckBox3.Value
If i = -1 Then
Worksheets(2).Cells(8, 2).Value = "C" Else
Worksheets(2).Cells(8, 2).Value = "" End If
End Sub
'选项D控件
Private Sub CheckBox4_Change()
i = CheckBox4.Value
If i = -1 Then
Worksheets(2).Cells(9, 2).Value = "D" Else
Worksheets(2).Cells(9, 2).Value = "" End If
End Sub
至于第二题的四个选项看参照完成。
当使用者在“多项选择题”工作表中完成作答以后,切换到“答题卡”工作表,可发现答案已录入,和操作人员的选项完全一致。
当再次进入多项选择题答题界面,重新作答,切换到“答题卡”工作表,发现答案已被修正。
符合设计要求。
三、多项选择题自动评分
多项选择题的评分需要将该题项目下的4个单元格都用来比较,只有4个单元格都一样才能给分。
我们可在“答题卡”工作表中,添加一个命令按钮,将其Captions设为“提交试卷”,在其Click事件中,添加如下代码:
Private Sub CommandButton1_Click()
Dim a As String
Dim b As String
Dim m As Integer
Dim n As Integer
Dim s As Integer
s = 0
'******核对两表对应区域******
'外层题目间循环
For m = 2 To 3
'内层题目间循环
For n = 6 To 9
'将所有的选项相加,得到多选答案
a = a & Worksheets(2).Cells(n, m).Value
b = b & Worksheets(3).Cells(n, m).Value
Next n
'比较答案
If a = b Then s = s + 5
a = ""
b = ""
Next m
'给出分数
MsgBox "多项选择题总分为" & s
End Sub
代码说明:
1.将答题卡所在的工作表(Worksheets(2))和标准答案所在的工作表(Worksheets (3))中的对应位置相互比较。
2.由于是多项选择题,对于答案的提取不能直接提取单元格的内容。
而采用循环将每题的4个选项集中在一起提取后,再进行比较,如相同则给出分数。
总之,只要在实战中体会VBA编程的设计思路,加强对Excel对象的理解能力,就能提升VBA的编程能力,从而编制出实用、简便的考试自动化系统。
[参考文献]
[1]张峋.Excel VBA入门与典型实例[M].北京:清华大学出版社,2007.。