刘沈
摘要:针对学籍管理中经常出现的数据汇总、比对等问题,本研究探讨使用VBA对Excel进行二次开发,用一个工作簿能够自动实现学籍信息的分散管理、迅速汇总、数据比对的功能,避免了简单重复性操作,大大促进了学籍信息管理的自动化和信息化水平,有助于学校行政效率的提高。该研究还公布了一些核心功能的源代码,以方便共享和交流,为进一步的研究提供了基础。
关键词:Excel;VBA;学籍管理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-7925-04
EXCEL是MicrosoftOffice的一个重要组成部分,主要实现各种电子表格制作、数据处理、数据统计分析等功能,被广泛地应用于管理、统计、金融等众多领域。VBA的全称是VisualBasicforApplication,它是Office系列软件提供的一种完全面向对象的宏语言。它具有跨越多种Office应用软件并且控制应用软件对象的能力,简单易学,可以根据用户的具体需求对Office进行指定方向的二次开发。
在学校学籍信息管理中,新生入学时学校需要进行巨大的信息采集工作,涉及系统录入、验证分发等诸多环节。在这过程中,EXCEL能够有效辅助这些工作的完成。传统对EXCEL的操作往往是进行手工的输入、筛选、复制和黏贴。这尽管在一定程度上是便捷的,但是极大的降低了工作效率,也很难避免一些人工错误。因此,如何能够更有效的完成新生入学时的学籍管理工作,便是本研究所要解决的具体问题。笔者致力于运用VBA开发能够解决实际问题的程序,帮助提高EXCEL在学籍管理中的使用效率。
1VBA对EXCEL的二次开发
1.1运用VBA实现各班级学籍系统导入模板的合并
新生入学后我们需要将新生信息导入江苏联合职业技术学院学籍管理系统,在各班按照系统提供的学生学籍信息模板填写后,还需将这些以班级命名的Excel工作薄合并到一张工作表中。若采用手工打开Excel工作薄进行复制、粘贴虽然可以完成任务,但是由于班级数目众多,这样简单重复的操作效率极低。考虑到所有班级的表格都是采用的同一模板,笔者将这些Excel文档放置在同一目录下,并新建一个Excel工作薄名为汇总表,利用VBA实现将各班学生信息合并至汇总表中。汇总表中的核心代码及相关注释如下:
在窗体工具栏中选择按钮,在汇总表的空白处拖画出一个按钮,将其指定宏设为上面的“合并表格”,确定后单击按钮即可完成汇总。
1.2运用VBA实现录取名册页行的录入
在录取五年制高职新生时,需要录入其在录取名册页上的编号。表1为学籍信息表,需要录入录取名册页行;表2为招办提供的招办录取表。一般我们会想到使用VLOOKUP函数,去比对两张表中的姓名字段,然后将表2中对应的录简表册页行填入表1。但是这里我们不仅要考虑到姓名可能会重名,还需要考虑姓名相同且生源地不一致的情况。
因此笔者在这里并没有选择VLOOKUP函数而是将两张表放到同一工作薄下,Sheet1为学籍信息表,Sheet2为招办录取表。在学籍信息表中从窗体工具栏为其添加一个按钮,指定如下宏:
单击按钮后,学籍信息表中录简表册页行这个字段会自动反馈出匹配结果,可以针对其中“存在重名”以及“没有匹配到”的情况进行个别处理。
1.3运用VBA实现将系统导出的学籍库按班级拆分
在新生学籍上报后,需将系统中的学籍库导出并打印后分发给各班进行核对。由于库中表格是全校新生的汇总表(见表3),此时要按“班级”这一列将其拆分成以班级名称命名的多张表。
表3 新生学籍库
如果按照班级去一个个筛选再复制粘贴到新工作表,在班级数量庞大的情况下工作效率极低。因而笔者在这里利用VBA,实现该汇总表按照班级自动生成以班级命名的若干张工作表,其宏代码如下:
在汇总表中添加一个按钮为其指定上面的“按班级拆分”宏,在自动拆分后会弹出处理完毕的对话框,并提示用户一共拆分出多少张表(即班级数目)。
2结束语
本研究基于对EXCEL的VBA应用,实现了一个工作薄内学籍信息的迅速汇总、数据比对及拆分的功能,并在本校学籍管理的实际工作中得到应用,大大提高了工作效率,也为相应软件的进一步开发和应用研究提供了程序基础。
参考文献:
[1]格林.Excel2007VBA参考大全[M].北京:人民邮电出版社,2009.
[2]卓朗,陆召军,张鸣,等.用Excel2003构建高校学籍管理信息系统的新思路[J].中国科技信息,2009(17):180-181.
[3]韦文.VBA在Excel多文档数据合并的应用研究[J].大众科技,2009(06):24-26.
[4]袁浩,毛颖颖.基于EXCELVBA的绩效考核统计系统设计[J].科技视界,2012(15):175-176.