【2017年整理】VBA 在Excel中的应用案例(陈军民 院报第2期).docVIP

【2017年整理】VBA 在Excel中的应用案例(陈军民 院报第2期).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文档。上传文档
查看更多
【2017年整理】VBA 在Excel中的应用案例(陈军民 院报第2期)

Excel VBA在Office中的应用案例 陈军民 江西外语外贸职业学院 江西南昌330099 摘要:VBA是一种内嵌于某种应用程序的编程语言,如Excel。编程人员可以通过VBA语言,操纵Excel对象模型实现自动处理数据的功能。本文介绍了三个VBA在日常办公与教学中的Excel应用案例:Excel操作题自动评分、数据快捷输入、合并数据表记录。这三个应用案例很有代表性,通过简单地修改就可以应用到其它方面。 关键字: Excel;VBA;办公自动化 VBA是一种内嵌于某种应用程序的编程语言,如Excel。通过VBA的编程,可以使Excel自动完成一些工作,如大批量的数据复制与粘贴、工作表的合并。VBA是VB语言的子集,只要掌握了VB语言就能自然地应用VBA。VBA是针对应用程序编程,确切的说是针对应用程序的对象模型编程。Excel作为一款优秀的数据处理软件,通过可视化操作,就能实现强大的数据处理功能。同时,它还对外公布了它的对象模型,编程人员可以通过VBA语言,操纵Excel相关对象而实现数据处理功能。VBA语言给Excel插上了飞翔的翅膀。 以下通过三个日常办公与教学中的常用案例,介绍VBA在Excel中的高级应用。 一、Excel操作题自动评分 在Excel教学中,我们经常会布置一些Excel操作题给学生做,但这些操作题如何不是某个考试软件中的题目,往往要由教师手动给学生评分,一方面工作量很大,另一方面,往往带有主观意见,对学生不公平。其实我们可以利用VBA编程,实现操作题自动评分。 例如有这么一个操作题: 1.选择工作表sheet1,用求平均值函数求出每人的平均成绩,依次放在E3到E6的单元格中。 2.把标题行A1-E1合并单元格,把标题“学生成绩表”设为20号宋体,居中,并把字体设置为红色。 3.把sheet1工作表名改为:学生成绩表 我们可以编写如下程序,实现该操作题自动评分。 Sub 自动评分() Dim Grade As Integer ‘Grade-分数 For i = 3 To 6 If Range(E i).Formula = =AVERAGE(B i :D i ) Then Grade = Grade + 2 Next If Range(A1:E1).MergeCells = True Then Grade = Grade + 2 If Range(A1:E1).HorizontalAlignment = xlCenter Then Grade = Grade + 2 If Range(A1:E1).Font.Size = 20 Then Grade = Grade + 2 If Range(A1:E1).Font.ColorIndex = 3 Then Grade = Grade + 3 If ActiveSheet.Name = 学生成绩表 Then Grade = Grade + 3 MsgBox Grade End Sub 编程思想其实很简单,就是用IF语句对操作题的各个对象属性进行检测,如符合要求,则加分,否则不加。如对对象属性不熟悉,可以先录制宏,得到相应的属性代码。 二、数据快速输入 在日常办公中,经常会遇到这种情况,Excel的 某一列就是常用的几个数据,如某一工作表第三列是职称,教师中常见的职称就是教授、副教授、讲师和助教。对于这些数据,我们可以分别以代号来表示,如1为教授、2为副教授、3为讲师、4为助教。编写如下代码,那只要输入1,应自动转变为教授,其它类似。 Private Sub Worksheet_Change(ByVal Target As Range) ‘ worksheet_change(),是工作表数据发生改变的事件 ‘Target是当前操作的单元格 If Target.Column = 3 Then ‘第三列职称,如要在其它列中实现这个功能,则改为其它列 If Target.Value = 1 Then Target.Value = 教授 If Target.Value = 2 Then Target.Value = 副教授 If Target.Value = 3 Then Target.Value = 讲师 If Target.Value = 4 Then Target.Value = 助教 ‘编号与职称相对应,如性别,1-男,2-女,则相应改变其代码。 End If End Sub 三 合并数据表记录 我们在办公中经常会遇到这种情况,组织部门需要收集单位员工在某一方面的信息,这时工作人员首先会向员工发一份Excel文件,其中包含有要求员工填写的相关信息,有的还会给出了

文档评论(0)

love87421 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档