ExcelVba在成绩录入中提高效率的应用_第1页
ExcelVba在成绩录入中提高效率的应用_第2页
ExcelVba在成绩录入中提高效率的应用_第3页
ExcelVba在成绩录入中提高效率的应用_第4页
ExcelVba在成绩录入中提高效率的应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Excel Vba 在成绩录入中提高效率的应用李介甫小学 陈 靓学生成绩的统计和分析是常规教学中不可或缺的手段之一, 对于量化教学质量、 分析学生学习效果和修正下一步教学方向起到了一定的指导作用。 在计算机应用已经广泛普及的今天, 传统的手工统计和分析的方法其弊端是显而易见的。 Excel 电子表格在学生成绩的统计和分析中的运用大大提高了工作的效率, 但在实际运用中也发现了一些瓶颈问题, 如何更进一步的提高 Excel 辅助统计工作的效率就显得更加重要了。【问题的成因】用 Excel 对学生成绩统计和分析的前提是要先将全体学生的成绩录入到 Excel 表格中去, 然后利用其统计函数根据具体的设

2、定自动计算出需要的数据, 再对数据做相应的统计和分析。 其中统计和分析只需要事先一次性的设定好就可以了, 如果遇到统计分析项目有变化也只是对相应的统计公式做一些调整就可以了, 可谓是 “一劳永逸” ( 对于统计和分析部分的设计和实现在此就不累述了) 。但学生成绩的录入就不是了, 每次学生考试的成绩都必须用手工的方法逐个录入到电子表格中,每个年级三个考试科目就有三个成绩,全校1000 多人就有 3000 多个数据需要录入,其工作量是可想而知的。在大量成绩录入的过程中最主要的瓶颈是学生成绩录入单元格的查找(学生的学号、 各科成绩、 总分的表格事先已经做好, 就等待具体成绩的录入。 ) ,因为考试的

3、时候为公平起见, 各班学生的座位是交叉打乱的, 而且收卷的时候也没有什么顺序可言,所以成绩录入时的试卷是混乱无序的, 想提高成绩录入的效率就必须先对试卷按照班级和学号进行排号的整理,而一个年级有200多学生,每个科目先要按班级分开,再按各班内学号的大小来排序, 如果手工完成分班和学号排序,这一部分的工作量是不小的。根据往年的经验,整个成绩的录入过程有65%以上的时间都是消耗在了分班和学号排序上了。 所以如果可以解决分班以及学号排序的问题,成绩录入的效率就会有大幅的提高。【解决问题的思路】如何分班以及学号排序的问题呢?如果从试卷方面着手, 只能是用人工的方法,但人工分卷的办法效能太低,此方法行不

4、通。那就只有从 Excel 方面来解决问题了。Excel 的高级筛选功能是好用,用高级筛选功能很快就能定位到要输入成绩的学号相应的单元格。 但是其高级筛选功能需要每次筛选之前用鼠标来设定筛选的条件, 确定了单元格再输入成绩, 这个筛选录入的动作需要操作员的手部不断的在鼠标和键盘之间切换, 这一点在大量数据录入的时候是一个很致命的缺陷。 因为这种切换是一个非常消耗录入效能的动作, 每减少一个切换动作或是减少一个按键动作都会相应的提高录入的效能。 由此得出, 想要提高数据录入的效能就是设计出一个方案使得手部动作尽量的限制在最小的活动范围内,并尽量的减少按键的次数。如何将手部的动作尽量的限制在最小的

5、活动范围内, 并尽量的减少按键的次数呢?首先就是解决操作界面的问题, Excel 是以表格的形式来工作的,在其操作的范围里有很多的单元格,在这些单元格间实现数据的录入就必须要用鼠标或是不断的使用方向键来定位。前面已经说过了这种鼠标或是方向键的定位方式效能是很低的,必须要将操作界面限定在一个很小的范围之内才能提高效能。因此考虑使用 Excel中VBA提供的“窗体”来统一界面的问题,界面统一了,其他 的问题就会迎刃而解了。【具体解决方法】学生的成绩录入表的基本格式是固定的,见下图:ABCDE1 F|1X年级X学年XX测试成绩2字号姓名语文数学英语总分3050102张三100253020540501

6、04季四100120022050E0106土土10100110I 6OSOIOT赵六91算97283r t050108陈七87.5死962S1. 5那么只需要设计一个统一的录入界面来实现各科成绩的录入就 行了。语文 数学 英语先在工作簿上设定三个按钮片1用来分别调取相应学科成绩录入的窗体。按钮中相应的VBA弋码为(代码中CommandButton仅寸应“语文” 按钮,CommandButton2寸应“数学”按钮,CommandButton3寸应“英 语”按钮。):Private Sub CommandButton1_Click()yuwen.ShowEnd SubPrivate Sub Com

7、mandButton2_Click()shuxue.ShowEnd SubPrivate Sub CommandButton3_Click()yingyu.ShowEnd Sub然后通过菜单栏的“工具”一一“宏” 一一“ Visual Basic 编 辑器”进行具体窗体的设计。三个科目的窗体的设计基本是一样的, 只是其中运行的代码有小小不同,这里就只用“语文成绩录入”的窗 体为例。新建一个窗体,然后在窗体中加入相应的控件,最终效果如下图:=;:;=-;=i::;:;=: *次:川二吟河等泛甘:门招 行:道* W:河羽*羽 :i-?i:=-?;:i:r:=;=: E:?免中转:就钥:巴:m中道:

8、冲允:臣:冲耳:泥:语父成绕录入查询t X语文成绩.下一个:退出接下来就是编写窗体中不同控件的代码,来实现具体的成绩录入 工作,窗体代码如下(以开头的为注释语句) 定义全局变量用以取得“学号”所在行号Public k As String 此为“下一个”按钮Private Sub CommandButton1_Click() 清除所有文本框中内容,为下一个输入做准备For i = 1 To 4Me.Controls(textbox & i) = Next i 自动跳转到“查询”框,等待输入“学号”SendKeys tabSendKeys tabEnd SubPrivate Sub Command

9、Button2_Click() “退出”关闭窗体,关闭内存中的窗体Unload Me 此处可改为相应的“shuxue”, “yingyu ”Unload yuwenEnd Sub,并做相应查, 此处为第一个文本框用以接收键盘输入的“学号”询Private Sub TextBox1_Exit(ByVal Cancel AsMSForms.ReturnBoolean) 判断“学号”是否正确Dim rng As RangeSet rng = Range(A:A).Find(TextBox1.Text)If rng Is Nothing ThenTextBox1 = MsgBox ( 请输入正确的学号

10、! )Cancel = TrueElse 取得输入查询的“学号”所在行的行号k = Range(A:A).Find(TextBox1.Text).RowEnd IfEnd Sub, 此处为第二个文本框, 提取查询到的 “学号” 与输入的 “学号”比对,防止录错分数Private Sub TextBox2_Enter()TextBox2 = Range(A & k).Value, 自动跳转到下一文本框(因为这里只是显示查询的结果用以比对,不需要手工录入任何信息,所以设定自动跳转)SendKeys tabEnd SubPrivate Sub TextBox3_Enter() 提取学生姓名比对Tex

11、tBox3 = Range(B & k).Value,自动跳转到下一文本框SendKeys tabEnd Sub,此处为第四个文本框,用以录入成绩Private Sub TextBox4_Exit(ByVal Cancel AsMSForms.ReturnBoolean)Dim nn = TextBox4.Text 判断成绩有效性(是否大于 100或小于 0)If n 100 Or n 0 ThenTextBox4 = MsgBox ( 请输入正确的分数! )Cancel = TrueElse 输入成绩, 并存入相应单元格内 ( k 为行号, 3 为 C 列即 “语文”成绩,“数学成绩”此处为

12、4, “英语成绩”此处为5)Cells(k, 3).Value = TextBox4.ValueEnd IfEnd Sub到此整个VBA勺设计已基本完成,最终的使用流程是:语文进入工作簿选择要科目(例如: 产EJ)弹出相应科目的录入界面输入学号,光标自动跳转到“语文成绩”处等待输入成绩注:因为设定的“查询”语句支持“模糊查询”,所以如果只在 一个年级内查询学号就可以只输入后三位,如果是全校范围内则需要 输入6位的学号,建议先按年级分类分别做数据表, 以减少输入学号 的按键次数。(学号的设定规则是050102,前两位05为入学时间即 年级,中间两位01为班级,最后两位02为该生在该班的编号。学号 必须唯一!)输入该生的成绩,回车,焦点自动跳转到“下一个”按钮直接“回车”,自动清空所有文本框中的内容,光标回到“查 询”文本框等待输入下一个学号。注意事项:因为用到了 VBA代码,所以在Excel中要将“宏”的 安全性降低为“中”级,默认是“高”,如若不然无法正常使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论