利用excel vba自动判分

利用excel vba自动判分

ID:19461157

大小:27.00 KB

页数:6页

时间:2018-10-02

利用excel vba自动判分_第1页
利用excel vba自动判分_第2页
利用excel vba自动判分_第3页
利用excel vba自动判分_第4页
利用excel vba自动判分_第5页
资源描述:

《利用excel vba自动判分》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、利用EXCELVBA自动判分  摘要:考核环节是高校各类管理系统教学过程中的一个难题,文章以用友的U8为例,利用EXCEL和VBA,通过匹配学生表和标准答案表来判断得分,最终得出考核结果,以期为该类课程教学结果的考核提供一种思路。  关键词:自动判分;管理信息系统;VBA  中图分类号:G434文献标志码:B文章编号:1673-8454(2014)02-0075-02  随着IT技术的不断普及,以关系数据库为基础的管理系统在日常工作中得以广泛应用,各类管理系统的应用教学也逐渐成为高校专业课程教学的重要内容,但如何对该类教学结果进行判分

2、成为一个难以解决的问题。  目前较常见的解决办法有两种:一种是通过开发模拟考试软件进行判分,即虚拟某一管理系统的界面和功能,按指定步骤完成操作即判断得分;另一种是专门开发某一管理系统的判分软件,根据操作结果来判分。但这两种方法均存在开发不易、灵活性差的问题。本文拟以用友U8的凭证和科目总账为例,通过取自数据库中的数据,利用EXCEL和VBA匹配学生结果和标准答案来完成这一判分过程。  一、相关工作簿  为完成自动判分过程,设计了pf.xls、bz.xls和xs.xls三个工作簿,pf.xls为判分信息文件,bz.xls为标准答案,xs

3、.xls为学生结果,三表结构如图1、图2、图3。  1.判分信息文件:pf.xls  如图1所示,该工作簿仅有main工作表,A列为学生姓名,C:H列为判分信息,其中D列为需判分的数据库表名,F列为该项满分值,G列为该表标准答案的总行数,H列为该表中需判分的列号。  2.标准答案文件:bz.xls  如图2所示,该工作簿中的工作表与pf.xls中的D列相对应,如本例中有gl_accsum和gl_accvouch两个工作表。各工作表中A列为姓名,B列为得分,C列为组合结果,从D列开始是取自标准答案的数据库该表的内容,B和C列为空。  3

4、.学生结果文件:xs.xls  如图3所示,学生结果文件结构同标准答案文件,区别在于各表内容取自学生数据库该表的内容。  二、判分过程  1.取标准答案和学生结果  先根据pf.xls中D列中各表名,用SQL语句取出标准答案和学生结果形成bz.xls和xs.xls两个工作簿(因各系统数据平台各异,为节省篇幅,该部分程序略)。  2.处理标准答案  将bz.xls中各表的内容根据操作结果进行调整,把不构成判分的行删除,有多种答案的情况增加相应行。将标准答案各表中判分总行数填入pf.xls的G列,该表总得分填入pf.xls的F列。如第2行

5、的分数和得分点表示gl_accsum的标准答案中有55行,占总分的40分。  3.设置分值、判分列和判分项  将各表的判分列填入pf.xls的H列,以半角逗号间隔。如“凭证”所对应H3的值“e,f,h,u,w,x”,表示根据gl_accvouch表中这6列数据判断凭证结果的正确性。  4.用程序判分  在pf.xls中按ALT+F11进入VBE窗口后输入判分程序代码,执行后在xs.xls中新增一张”判分”表,表中内容为各学生的分项得分和总分。结果见图4。  三、判分程序代码  Sub判分()  dp1=ThisWorkbook.Pat

6、h&"\"  fmax=Sheets("main").Range("d65536").End(xlUp).Row'需判分表数  xmax=Sheets("main").Range("a65536").End(xlUp).Row'学生人数  Workbooks.OpenFilename:=dp1&"bz.xls"  Workbooks.OpenFilename:=dp1&"xs.xls"  WithWorkbooks("xs.xls")  OnErrorResumeNext  Application.DisplayAlerts=Fals

7、e  .Sheets("判分").Delete  .Sheets.Add.Name="判分"  '增加一张判分表,再次运行前需先把该表删除  .Sheets("判分").Range("a1:a"&xmax)=Sheets("main").Range("a1:a"&xmax).Value  EndWith  Fori=2Tofmax'逐表判分  WithWorkbooks("pf.xls").Sheets("main")  SN=Trim(.Cells(i,4).Value)'表名  sc=Trim(.Cells(i,5).Value)

8、'表中文名  mf=.Cells(i,6).Value'单项满分数  fs=mf/.Cells(i,7).Value'每一得分点分数  gs=Trim("="&Replace(.Cells(i,8).Value,",",

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。