Excel VBA在Office中应用案例.docVIP

  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文档。上传文档
查看更多
Excel VBA在Office中应用案例

Excel VBA在Office中应用案例摘要:VBA是一种内嵌于某种应用程序的编程语言,如Excel。编程人员可以通过VBA语言,操纵Excel对象模型实现自动处理数据的功能。该文介绍了三个VBA在日常办公与教学中的Excel应用案例:Excel操作题自动评分、数据快捷输入、合并数据表记录。这三个应用案例很有代表性,通过简单地修改就可以应用到其它方面。 关键词:Excel;VBA;办公自动化 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)12-2819-03 VBA是一种内嵌于某种应用程序的编程语言,如Excel。通过VBA的编程,可以使Excel自动完成一些工作,如大批量的数据复制与粘贴、工作表的合并。VBA是VB语言的子集,只要掌握了VB语言就能自然地应用VBA。VBA是针对应用程序编程,确切的说是针对应用程序的对象模型编程。Excel作为一款优秀的数据处理软件,通过可视化操作,就能实现强大的数据处理功能。同时,它还对外公布了它的对象模型,编程人员可以通过VBA语言,操纵Excel相关对象而实现数据处理功能。VBA语言给Excel插上了飞翔的翅膀。 以下通过三个日常办公与教学中的常用案例,介绍VBA在Excel中的高级应用。 1 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语句对操作题的各个对象属性进行检测,如符合要求,则加分,否则不加。如对对象属性不熟悉,可以先录制宏,得到相应的属性代码。 2 数据快速输入 在日常办公中,经常会遇到这种情况,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-女,则相应改变其代码。

文档评论(0)

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

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档