基于VBA学生成绩数据重排功能设计与实现.docVIP

基于VBA学生成绩数据重排功能设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VBA学生成绩数据重排功能设计与实现

基于VBA学生成绩数据重排功能设计与实现   摘要:目前教务系统的学生成绩一般采用Excel文件进行保存,且成绩往往是按课程进行录入,每行数据只有学生一门课程的成绩信息,导致学生的成绩信息分布的很分散,为了能够在一行中显示一名学生的所有成绩信息,该文采用Excel自带的VBA设计器,开发了一个学生成绩数据重排功能,该功能可以快速对学生成绩信息进行横向重排,使教务管理人员能够直观地观察到学生的整体学习情况,并且对中途转入或转出的同学也可以进行成绩统计。   关键词:Excel;VBA;数据重排   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)35-0129-02   1 VBA概述   随着计算机技术的飞速发展,办公软件已经成为人们工作生活的重要工具,其中office系列软件是目前主流的办公软件,office软件已经集成强大的办公类功能,但有些自定义的功能,通过office集成的功能不能直接实现,这时我们需要借助VBA来进行设计实现。   VBA(Visual Basic for Applications)是微软开发出来的一种宏语言,是在桌面应用程序中执行通用的自动化(OLE)任务的编程语言,用来扩展Windows的应用程序功能,特别是Microsoft Office软件。VBA是Office的内置工具,主要包括开发环境及开发语言两部分。VBA能够对Office文档中的属性与状态进行识别[1],实际上VBA是一种用于开发应用程序的Basic语言,VBA是基于VB发展而来的,VBA与VB有着相似的语法结构,VBA是Office系列软件集成的功能,所以不能像VB一样生成独立的应用程序,VBA需要基于一个主应用程序,VBA通过对象库来控制应用程序,所以只要提供了对象库的应用程序都可以使用VBA[2],比如Excel、Word、Powerpoint。   2 Excel VBA常用功能介绍   本文主要对学生成绩的Excel文件进行数据处理,以便教务处或老师对学生的学习情况有一个全面的了解[5]。Excel VBA是内嵌于Excel的程序开发语言,在Excel中可运行VB程序完成较复杂的工作,为了解决学生成绩的重排问题,需要使用以下功能:   1) 打开VBA代码编辑器   方法一:选择开发工具选项卡,单击Visual Basic按钮   方法二:用鼠标右键单击工作表标签 ,在弹出的菜单中选择查看代码选项   方法三:按下快捷键Alt+F11   2) 创建事件过程   打开VBA代码编辑器后,在工程资源管理器窗口中,双击需要编程的工作表名,在右侧的代码窗口中,首先在对象下拉列表框中选择过程类型,本文需要对工作表操作,所以选择worksheet类型,然后在右侧事件窗口中选择事件BeforeDoubleClick。   3) 单元格的选择   对于单个单元格的选择,可以使用工作表标签名(行标,列标)的方法获取单元格的数据,其中行标与列标均采用数字形式,且均从数字1开始编号,工作表中列标对应数字1。   对于连续的多个单元格范围,可以使用Range(“起始单元格坐标,结束单元格坐标”),其中起始单元格对应于范围中左上角的单元格,结束单元格对应于范围中右下角的单元格,坐标中行列采用数字,列标采用字母形式。   4) 判断单元格是否为空   Excel数据中往往会出现空白单元格,可以使用IsEmpty(单元格地址)进行判断,如果指定单元格内容为0、空字符串时函数返回true,否则函数返回false。   对于空白单元格,还可以使用表达式(单元格=0)进行判断,单元格内容为空、0、空字符串时结果为true,否则计算结果为false。   5) 删除单元格内容   VBA中需要删除Excel内容时,可以使用对象.delete()函数实现,其中对象可以是若干行rows(i)、若干列columns(i)、单元格范围range(单元格范围)、某个单元格cell(行标列标)。   3 数据重排功能算法的介绍   目前大多数教务系统的学生成绩数据存储在Excel中,由于学生成绩主要是按课程进行录入保存的,导致学生各门课程成绩分布的非常散,如果想查询某名学生所有的课程成绩时非常的不方便。   为了能够方便地查询某名学生的所有课程成绩,本文采用Excel的VBA技术对数据进行重排,使按课程排列的成绩信息,变成按学生排列的成绩信息,本功能的实现主要分为以下两个阶段:   1) 遍历成绩Excel数据表,对每一条成绩记录进行处理;   2) 从每条被处理记录的下一条记录开始,比较学号字段是否相同;   4) 如果值相同的话,则将成绩与课程名添加到当前记录的后面,并将学号值改

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档