首页 字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文

字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文

举报
开通vip

字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文 院系 专业 毕业论文 第 页 共 页 ×× () 题 目 指导教师 学生姓名 专 业 教学单位 (盖章) 二OO 年 月 日 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 【摘要】 .................................................................. 3 【ABSTRACT】 .........................................

字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文
字处理实用模板系列(WPS&OFFICE通用)-1455-×× 毕业论文 毕业论文答辩ppt模板下载毕业论文ppt模板下载毕业论文ppt下载关于药学专业毕业论文临床本科毕业论文下载 院系 专业 毕业 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 第 页 共 页 ×× () 题 目 指导教师 学生姓名 专 业 教学单位 (盖章) 二OO 年 月 日 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 【摘要】 .................................................................. 3 【ABSTRACT】 ............................................................ 3 【关键字】 .................................................................. 3 【KEYWORD】 ............................................................... 4 一、 关于VBA ........................................................... 4 1. 什么是VBA ........................................................................................................................................ 4 2. VBA的开发环境 ................................................................................................................................ 4 二、 如何学习VBA ...................................................... 5 1. 什么是对象和集合 .............................................................................................................................. 5 2. 事件的含义和用法 .............................................................................................................................. 6 3. 属性和方法的含义和用法 .................................................................................................................. 6 三、 VBA语法 ........................................................... 6 四、 VBA 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 -----面向对象的VBA .................................... 8 五、 VBA的对象模型------Excel ...................................... 8 1. Excel中VBA的功能 ......................................................................................................................... 8 2. Excel中VBA程序的基本架构 ......................................................................................................... 9 六、 综合实例 .......................................................... 10 七、 总结VBA .......................................................... 15 【参考文献】 ............................................................ 15 附录一 ................................................................... 16 附录二 ................................................................... 19 附录三 ................................................................... 22 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 使用VBA编程 VBA是面向对象的程序设计语言。Visual Basic编辑器是VBA的开发环境。对象是代码和数据的集合。对象的属性用于定义对象的特征。 对象的方法用于描述对象的行为。宏是一个指令集合,用来记录VBA程序。Excel中VBA的功能。VBA程序的基本架构。实例介绍。 ABSTRACT VBA is a target-oriented programming language. Visual Basic editing machine is a development environment of VBA. The target is the sets of code and data. The target's attribute is used for defining the target's characteristic . The target's method is used for describing the target's behavior. It is a order set to be great, used for writing down VBA procedure . Function of VBA in Excel. Introduction to the instance . VBA 宏 面向对象的程序设计 模块 Visual Basic编辑器 对象 属性 方法 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 KEYWORD VBA Hong Object-oriented programming Modular Visual Basic editor ware Target Attribute Method VBA VBA VBA,即Visual Basic for Application的简称,是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语 言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计 方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录 用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为 VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方 便快捷。 VBA 既然我们要编写“VBA”程序,就需要先看看“VBA”的开发环境。“VBA”的开发环境是开发“VBA”程序相应的“设计器”,但我们不这么称呼它,而是叫它“VBA开发环境”,这种说法是继承了计算机语言对开发器的一种统一叫法。 我们首先要打开一个Office套件,按【Alt+F11】或选择【工具】菜单【宏】子菜 单下【Visual Basic编辑器】菜单项既可打开VBA编辑器,这就是“VBA”的“开发环境”,如图1-1所示。 VBA开发环境分为“主窗口”、“模块代码”、“ 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 资源管理器”和“模块属性” 这几部分。“模块代码”窗口用来输入“模块”内部的程序代码。“工程资源管理器” 用来显示这个数据库中所有的“模块”。当我们用鼠标单击这个窗口内的一个“模块” 选项时,就会在模块代码窗口上显示出这个模块的“VBA”程序代码。而“模块属性” 窗口上就可以显示当前选定的“模块”所具有的各种属性。 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 VBA 要学习VBA,让我们先了解一下VBA中的对象和方法。 作为一个面向对象的程序设计语言,VBA程序的关键组成要素也同样是对象,而每个 对象则由其属性、事件以及方法定义。其中,对象的属性决定了对象的特征,即对象是什 么;对象的方法可以使对象完成某种任务,即定义对象可以做什么;通过为对象的事件编 制过程,则可以在该对象的某个事件发生时,运行该过程,从而使对象响应指定行为。 VBA程序设计语言共提供144个对象。拿Excel为例,位于最顶层的是Application(应用程序)对象,它代表整个Excel 2000应用程序,Excel 2000中的其他对象都是该对象的 子对象。当然,在Application对象的子对象中,有些对象还包括其他的子对象,如Worksheet(工作表)对象就包含了Names、Range、Hyperlink以及OLEObjects等许多其他子对象。 另外,每个对象都有其相应的属性、方法以及事件集合,他们共同规划该对象。如何 使用这些属性、方法以及事件集合控制对象行为,是赋于对象灵魂的关键所在,也是利用 VBA程序完成应用系统开发的关键技术。 在VBA中,所谓对象,就是指代码和数据的集合,可将对象看作一个单元,例 工作簿、工作表、单元格区域、控件、窗体、以及应用程序部件等都是对象。在VBA 中,每个对象都由类进行定义。一般地,每个对象都有一系列的属性、方法和事件。 其中,对象的属性决定了对象的特征,即对象是什么;对象的方法可以使对象完成某 种任务,即对象可以做什么;此外,通过为对象的事件编制过程,可以在该对象的某 个特定事件发生时,执行该过程,即对象可以响应的行为。对象的集合则是指若干个 对象的组合体。 利用一个与计算机应用相关的例子可以形象介绍对象和集合的概念。即:如果将 计算机作为一个对象,则计算机的型号、颜色、形状以及重量等就是它的属性,利用 计算机处理文本、播放音像文件、玩电脑游戏就是它的方法,开启和关闭电源、移动 鼠标、敲击键盘则是它的事件。因此,对于一个计算机对象,它的各种属性可以决定 计算机的各种特征,它的方法决定了它的功能,而为它的事件定义的各种过程,如开 机自检等,则是计算机在发生某个事件时所执行的操作。更进一步说,将所有计算机 的属性、方法、事件加以抽象,得到的共性的属性、方法和事件则就构成了一个计算 机类,而每个具体的计算机则是计算机类的一个实例。 如果将计算机做进一步地“分解”,则可以发现,每个计算机都是由一些更小的对 象组成的。在这个意义上讲,计算机对象就是一个集合对象,它由显示器、硬盘、内 存、各种板卡、键盘以及鼠标等对象组成,这些组成计算机集合对象的各个对象都分 别具有各自的属性、方法和事件。同样,如果将一个局域网看作一个集合对象,则计 算机对象就是该集合对象的一个组成对象,它同网络连线、路由器等对象一同组成了 一个局域网集合对象。 在Visual Basic编辑器中,可以利用【对象浏览器】方便的查询到每个对象的属 性和方法列表,其方法是:启用【视图】菜单中的【对象浏览器】菜单项。 在【对象浏览器】窗口中,可以利用【工程/类】下拉式列表框选择要查看的类, ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 可以利用【搜索文字】下拉式列表框和【搜索】按钮查找指定对象,可以在【类】列 表框中定位某个对象,可以利用【成员】列表框查看指定对象的所有属性、方法和事 件,可以利用最下部的【代码模板】窗口查看属性、方法和事件的说明,参见图1-2: 简单的说,一个事件是指发生在对象上的某种行为。例如,当用户打开一个工作 表时就会激发一个工作表的打开事件。一般情况下,事件本身不能完成任何操作,用 户需要为事件定义或指定过程,从而使其可以完成某项任务。除【对象浏览器】外, 还可以利用Visual Basic编辑器中的【过程】列表框,查看指定对象的所有事件,其方 法是:首先在Visual Basic编辑器窗口中打开一个工程文件,然后在工程窗口中定位要 查看事件的对象集合,例如某个工作表,最后在【对象】列表框中选中要查看的指定 对象,例如工作表中的某个控件,此时,【过程】列表框中将陈列出该对象的所有事件, 参见图1-3: 对象的属性用于定义对象特性,如大小、颜色和对象状态等。在VBA中,对象的属性有只读属性和非只读属性两种。其中,设置对象只读属性的语法为: Object. Property=Value 其中,Value是一个表达式,该表达式返回要设置的属性值。为一个对象定义了只读属 性后,可以利用Object.Property引用该属性的值。对象的非只读属性,则不能直接设 置和使用,他们只能利用对象的方法进行设置,并在对象方法中引用。 与对象的属性不同,对象的方法主要用于描述对象的行为,而且,与对象的事件 过程不同,对象的方法都是VBA中预定义的,因此用户只能使用而不能修改对象的 方法。 对象的方法中,有些具有参数,有些不具有参数。对于没有参数的方法,其引用 语法为: Object.Method 对于具有参数的方法,引用时,并不需要给出全部的参数值,而只需要给出其中 必要的参数值即可。例如:引用工作簿的Open方法时,只要给出FileName参数即可。 VBA VBA的很多语法继承了VB,所以我们可以像编写VB语言那样来编写VBA程序,以实现某个功能。微软Office组件中大多是用宏来记录VBA程序的。宏是一个指令集 合,他可以使Office办公软件中的套件自动完成用户指定的动作组合。下面,我们将 以宏为例,详细介绍VBA程序的结构及组成要素。请看图1-4中的一段VBA程序代 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 码, Sub 货币单元格格式化() ' ' 货币单元格格式化 Macro ' d 记录的宏 2005-5-31 ' ' Selection.NumberFormatLocal = _ "_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* ""-""??_ ;_ @_ " End Sub 图1-4 一段VBA程序代码 其中: 1)每个宏都以Sub开始,Sub后面紧跟着是宏的名称和一对括号:此外,宏以End Sub结束,这种定义方法表明每个宏实际上都是Visual Basic中得一个子过程。注意: 在Visual Basic编辑器中,Sub与End Sub等保留字默认都是一蓝色字符进行标识。 2)以符号“’”开始的语句是VBA中的注释语句,他没有任何实际意义,一般 用于表示一些有用的说明信息,如宏的编制者、宏的编制日期、宏的作用,以及宏中某 段程序的作用等。同时,为区分注释语句和一般可执行程序语句,Visual Basic编辑器利用绿色字符表示注释语句。 3)“Selection.NumberFormatLocal = _”是这个宏中最重要的语句。其中, “Selection”代表当前选中的区域;“NumberFormatLocal”表示选中区域的属性或特 性;等号“=”是Visual Basic语言中赋值语句的标记,他表示将等号右边的值赋予等号 左边的对象属性;下划线“_”表示下一行的语句是本语句的一部分,利用下划线,可 以将VBA中较长的语句分割成若干行从而使得程序更加容易阅读。 4)语句“"_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* ""-""??_ ;_ @_"”表示要对当前选定区域应用的格式设置。注意:Visual Basic编辑器中,一般的可执行程 序语句都用黑色字符进行标识。 这段VBA程序虽然简单,但却几乎包含了VBA程序所涉及的所有基本概念和基本 要素。首先,作为一种面向对象的程序语言,VBA程序的基础就是对象、属性和方法, 每个对象都是由属性和操纵该对象属性的方法集合组成,属性的值决定了对象,而方法 则是操纵对象属性值的途径。在本例中,“Selection”就表示一个对象,即所谓“选定 的对象”,它的具体 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 要根据用户的选择决定,可能是一个单元格(区域),可能是整 个工作表,也可能是某段文字。“NumberFormatLocal”则是表示一种对象属性,将对象 和属性用一个“.”连接在一起,形成“Selection.NumberFormatLocal”格式,即表示选定对象的相应属性。“=”则表示为某个属性赋值,“=”左边是某种属性,右边则是属 性值,利用“=”为对象属性赋值是VBA中最简单、最直接的途径,而更复杂的操纵 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 对象和对象属性的途径则是利用VBA程序中提供的各种方法集合。 VBAVBA VBA 与传统宏语言的重要区别之一就在于它是面向对象的。对象是为了在VBA 程序中管理数据和代码的方便提出来的。在VBA 中,对象是封装有数据和代码的客体。 例如,UserForm 对象是一个窗口或对话框,用以构成应用的用户界面部分。 Word 对象是VBA 为Word 编程所采取的看待世界的方法。对象代表一个Word 的元素,如文档、段落、书签或单个的字符。集合是一个对象,该对象包含其他数个对 象,通常这些对象属于相同的类型。例如,一个集合对象中可包含文档中的所有书签 对象。通过使用属性和方法,可以修改单个的对象,也可修改整个的对象集合。 在一个应用程序中,最高级别的对象通常是Application 对象,它就是应用程序本 身。例如, 在Microsoft Word 对象中的Application 对象就是Microsoft Word 本身。在Application 对象中包含了一些其他的对象,例如,在Microsoft Word 的Application对象中包含了Document、Windows、Selection 等对象。因为Document对象的存在依赖于Word 的Application 对象的存在,所以此Document 对象被称之为Application 对象的子对象(Child),反过来,此Application 对象被称为Document 对象的父对象(Parent)。许多子对象又有它们自己的子对象。例如,在Microsoft Excel 中,Documents 对象包含了Document 对象,或者说,它是Document 对象的父对象,一个父对象可以 拥有多个子对象;例如,Word 的Windows对象拥有Panes、Selection 以及Object 等子对象。同样,一个子对象也可以拥有多个父对象;Word 的Windows 集合对象同时是Application 对象和Document 对象两者的子对象。对象组成应用程序的方法,彼此 之间按照它们被分开的内容的功能又相互联系起来,这叫做对象的分层结构 (Objecthierarchy)或是对象的模型(Object model),如图1-5 所示为Microsoft Word 对象的结构模型图。 VBAExcel VBA是一个通用的程序语言,它可以共享Microsoft各种相关的重要软件。因此, 同Microsoft Word一样,Microsoft Excel也有类似于图1-5的对象结构模型图。在这里, 我们将以Microsoft Excel为例对VBA进行详细讲述。 ExcelVBA 以VBA编写的程序允许用户将其复制到Visual Basic中加以调试,用Visual Basic ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 宏来控制Excel。其功能为: (1) 当记录宏不能满足用户需要或用记录宏无法记录命令时,可以用VBA语言创 建宏来控制工作簿的各项操作。 (2) 创建用户对话框、工具按钮或自定义命令,把Excel提供的多个工具按钮连 接起来,作为一个工具按钮。 (3) 利用重复语句控制循环宏内操作,利用不同参数执行某个相关功能模块,使 宏指令完成一系列复杂操作来连接多个宏。 (4) VBA提供了许多内部函数,允许用户自定义函数来简化对工作簿、工作表、 图表等复杂操作。 ExcelVBA 如图1-6所示: Application „„ 窗体(Windows) 插件(Addins) 工作簿(Workbooks) „„ 工作表(Worksheets) 图表(Charts) „„ 单元格(Cells) 范围(Range) 使用对象的程序语法 Workbooks(“Mybook.xls”).Worksheet(“Sheet1”).Range(“B5”).Value=“ABCDE” 属性 容器 容器 Workbooks.Close ××学院毕业论文用纸 集合对象 院系 专业 毕业论文 第 页 共 页 图1-6 Excel的对象结构 【VBAExcel 在学校的教学活动中,通过统计分析学生的考试成绩,了解教学情况,为改进以后的 教学工作提供依据,是整个教学工作中非常重要的一环。但经常按各种不同的指标统计分 析成绩,又是一件很枯燥,很繁琐的事。为了使需统计的各种指标,无需人工干预,而让 计算机自动完成,那么就需要通过Excel中自带的VBA,来实现这个功能。下面以我校01本计算机系成绩统计为例,介绍其作法。 1. 设计流程,编制程序源代码:为便于说明做法,同时代码简短一点,这里以01本计算机系1-4班成绩统计为例,说明其做法。另外为使编写代码效率高一些,这里采用先 录制一部分为宏,再在VBA中打开编辑相结合的办法编写。 (1) 从外部的“01计本考试成绩.xls”工作簿中将1-4班的成绩拷贝,依次粘贴到 “01计本成绩统计.xls”工作簿中的“01本计算机系”表中; 程序源代码见附录一 (2) 利用Excel的统计函数“RANK”将01本计算机系表中学生的各科成绩排名次; 目的是让每位学生了解自己在全年级学生中的排名的位置。 程序代码见附录二 (3) 将01本计算机系的成绩拷贝,粘贴到新表“01本计算机系降序”表中,并对各 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 科成绩按降序排序,确定分析中的A,B等优秀分数线; 程序源代码见附录三 (4) 建立分析表,列出各班统计的各种参数指标值。 在前面的“01计本成绩统计.xls”工作簿中建立如下分为数据结构、数据库、操作系 统、综合、总分等项目的“成绩分析”表。 这里将各科前1-80名定为A等,第81-160名定为B等,其具体分数值,用Excel自带的函数MIN计算,如数据结构的A等优秀分数线的公式为:=MIN(01本计算机系降序!C2:C200),即从01本计算机系降序表的“数据结构”字段第C列的第2到第200个纪录中,选取其中的最小者作为数据结构A等最低优秀分数线,其余各科分数线的确定,公式基本 形同,此处不再详述。 各班达到各种优秀分数线学生个数,利用Excel的统计函数COUNTIF计算,如数据结 构科1班A等优秀生的个数公式如:=COUNTIF(01本计算机系! C2:C60,">=90");这里的COUNTIF是条件纪录数值项数的函数,其中的“01本计算机系!”表示成绩统计工作簿中 的“01本计算机系”表,“C2:C60”表示1班的数据结构科数据范围,“>=90”表示数据满足的条件。 求和就直接用Excel的求和函数计算,如数据结构科1班优秀分数线的总人数合计公 式为:=SUM(C6:D6) 求平均分和求总分用Excel的求平均函数与求和函数计算,如1班数据结构总分公式为:=SUM(01本计算机系!C2:C60),数据结构平均分公式为:=AVERAGE(01本计算机系!C2:C60)。 将上述表中的每个单元格内的公式输入完毕,你的成绩自动统计表就做好了。 2. 保存好你的01本成绩统计工作薄,只要在每次统计成绩时,同时打开01本考试成绩原始数据表和你的01本成绩统计工作簿,按次序 (1) 选定01本成绩统计工作簿中的01本计算机系表的A1单元格,运行宏《拷外部 01本计算机系成绩》,从外部将数据拷到“01本计算机系表”; (2) 运行宏《01本计算机系名次》,排出01本计算机系表中每一位同学的各科成绩 的名次; (3) 选定01本计算机系降序表的A1单元格,运行宏《01本计算机系降序》,将“01本计算机系”表数据拷到“01本计算机系降序”表中,并将每科成绩按列从高到低排列; 这时,成绩分析表中的数据就会按表内的公式,将各班成绩的各种指标一一统计出来。 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 另外,如果第二次考试各班的人数有变化,可以通过选中成绩分析表中该班所在行, 用查找替换的方式变更;第二次考试A,B等优秀分数线,也可以通过选中该列,用查找替 换的方式改变。如果班级有增加或减少,可以在VBA中,通过增删部分代码来适应你的 班级个数。 3. 为了使自己编制的宏只允许别人使用,而不想让别人看到其代码,我们可以对其实行 密码保护。方法为:在“模块”上单击鼠标右键,选择“VBAProject属性”命令,在 “保护”选项卡中设置密码,如图1-7所示,那别人就看不到你的源程序了。 4. 为了使VBA程序执行起来更加的方便,我么可以设置工具栏按钮来运行宏程序,这也 是一种更直观通用的方法。其步骤为: (1) 首先单击Excel 2000中【视图】菜单【工具栏】子菜单中的【自定义】菜单项, 或先右击任意一个工具栏,如【常用】工具栏,然后单击其快捷键菜单中的【自 定义】菜单项,启动【自定义对话框; (2) 在【自定义】对话框中单击【工具栏】选项卡,并单击该选项卡中的【新建】按 钮; (3) 在【新建】工具栏对话框的【工具栏的名称】文本框中输入新建工具栏的名称, 如【成绩统计】工具栏,并单击【确定】按钮,此时,工作表中将出现一个新的、 不包含任何工具按钮的【成绩统计】工具栏,请参见图1-8; 图1-7 为工程设置密码保护 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 图1-8 在Excel中创建一个新工具栏 (4) 首先在【自定义】对话框中单击【命令】选项卡,然后再【类别】窗口中选中【宏】 选项,其次在【命令】窗口中单击选中【自定义按钮】选项,并将其拖动到【成 绩统计】工具栏中,重复该操作,直到【成绩统计】工具栏中出现三个“”按钮。用鼠标右击【成绩统计】工具栏中的第一个“”按钮,单击菜单中的【指 定宏】菜单项,请参见图1-9,此时,系统将弹出【指定宏】对话框,为它选中 《拷外部01本计算机系成绩》宏,按【确定】;同样,为第二个指定《01本计算机系名次》宏,为第三个指定《01本计算机系降序》宏; ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 图1-9 为工具栏中的图标按钮指定宏 (5) 虽然我们已经建立了一个名称为“成绩统计”的工具栏,并将各个宏分别指定为 该工具栏中的相应图标按钮,但这三个按钮具有相同的外观,且没有任何说明信 息。因此,我们要为其更换图标外观,并添加说明文字,其操作步骤为: ? 首先右击Excel 2000中的任意一个工具栏,如【常用】工具栏,并在相应的快 捷菜单中单击【自定义】菜单项,弹出自定义对话框;然后在【自定义】对话框 中单击【工具栏】选项卡,并和选【工具栏】窗口中的【成绩统计】选项; ? 用鼠标右击【成绩统计】工具栏中的第一个“”按钮,并在相应快捷菜单中 的【命名】框中输入说明文字,如:“拷外部01本计算机系成绩”。此后,每次 当鼠标在该图标按钮上停留时,都将显示这段文字,从而使得命令按钮对我们具 有一定的提示性; ? 用鼠标右击【成绩统计】工具栏中的第一个“”按钮,则可以在相应快捷菜 单中,利用【更改按钮图标】面板为该按钮选择一个新的具有说明意义的图标, 请参见图1-10,也可以先单击【编辑按钮图标】菜单项,再利用【按钮编辑器】 对话框编辑指定按钮图标。 关于第二个和第三个按钮的设置,此处不再详述。 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 图1-10 为工具栏上的按钮更换图标 完成以上步骤后,一个具有说明意义、与众不同的工具栏就创建好了。有了这个 工具栏的帮助,成绩统计工作将不再繁琐,这也正是VBA的目的所在。 VBA 通过对在Excel中用VBA编程的学习,使我深刻领略到微软Office套件的功能齐全、先进以及使用简单方便,促使我们着手以微软Office套件为基础进行软件的二次开发,从 而对该软件有更全面的了解。通过VBA编程,用户可以将一些重复繁琐的工作通过简单 的操作即可完成,既提高了工作效率,又避免了在重复操作过程中出现差错的可能。相信 微软Office软件在我国已被愈来愈多的应用人员认识和接受,也相信会有更多的人能够用 VBA编程来让软件更好的为用户服务,满足用户更加具体的要求。同时,希望微软公司能 够在该软件中嵌套更多的可以实现软件二次开发的语言,以方便熟练不同语言的用户。由 于水平所限,对微软Office软件接触时间短,认识也浮浅,文中可能有不妥或错误之处, 敬请指正。 1. 苏茜 李新承著 Excel行家实战问答集 北京 中国铁道出版社 2004.5 第243页 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 2. 吴金生著 Excel 2000中文版VBA开发实例指南 北京 电子工业出版社 2000.8 第8页 3. 李祥平等著 图解精通Office 2003 北京 中国水利水电出版社 2004.1 第173页 Sub 拷外部01本计算机系成绩() ActiveWindow.WindowState = xlMinimized Windows("01计本考试成绩.xls").Activate ActiveWindow.WindowState = xlMaximized Sheets("1班").Select Range("A1:S60").Select Selection.Copy ActiveWindow.WindowState = xlMinimized Windows("01计本成绩统计.xls").Activate ActiveWindow.WindowState = xlMaximized Sheets("计算机系").Select ActiveWindow.ScrollRow = 1 Range("A1").Select ActiveSheet.Paste 拷贝“01计本考试成绩.xls”工作簿中1班成绩表中数据,粘贴到到“01计本成绩统计.xls”工作簿的计算机系表A1 Range("S22").Select ActiveWindow.LargeScroll Down:=1 Range("S44").Select ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 ActiveWindow.LargeScroll Down:=1 Range("S66").Select Windows("01计本考试成绩.xls").Activate ActiveWindow.WindowState = xlNormal Sheets("2班").Select Range("A2").Select ActiveWindow.SmallScroll Down:=43 Range("A2:S58").Select Application.CutCopyMode = False Selection.Copy Windows("01计本成绩统计.xls").Activate ActiveWindow.WindowState = xlNormal Range("A61").Select ActiveSheet.Paste 拷贝“01计本考试成绩.xls”工作簿中2班成绩表中数据,粘贴到到“01计本成绩 统计.xls”工作簿的计算机系表A61 Windows("01计本考试成绩.xls").Activate ActiveWindow.WindowState = xlNormal Sheets("3班").Select Range("A1:S59").Select Application.CutCopyMode = False Selection.Copy Windows("01计本成绩统计.xls").Activate ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 ActiveWindow.WindowState = xlNormal Range("S58").Select ActiveWindow.LargeScroll Down:=1 Range("S80").Select ActiveWindow.LargeScroll Down:=1 Range("S102").Select ActiveWindow.LargeScroll Down:=1 Range("A118").Select ActiveSheet.Paste 拷贝“01计本考试成绩.xls”工作簿中3班成绩表中数据,粘贴到到“01计本成绩 统计.xls”工作簿的计算机系表A118 Rows("118:118").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp Range("D122").Select Windows("01计本考试成绩.xls").Activate ActiveWindow.WindowState = xlNormal Sheets("4班").Select Range("A2:S71").Select Selection.Copy Windows("01计本成绩统计.xls").Activate ActiveWindow.WindowState = xlNormal ActiveWindow.LargeScroll Down:=1 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 Range("D144").Select ActiveWindow.LargeScroll Down:=1 Range("D166").Select ActiveWindow.LargeScroll Down:=1 Range("D188").Select ActiveWindow.LargeScroll Down:=-1 Range("A176").Select ActiveSheet.Paste ’拷贝四班成绩 End Sub Sub 01本计算机系名次() Range("D2").Select ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R2C3:R246C3,0)" Selection.AutoFill Destination:=Range("D2:D246"), Type:=xlFillDefault Range("D2:D246").Select ActiveWindow.LargeScroll Down:=-13 ActiveWindow.ScrollRow = 1 ’在工作表的D2单元格输入公式,并用拖的方式在 D2-D246列复制 Selection.Copy Range("F2").Select ActiveSheet.Paste ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 Application.CutCopyMode = False Selection.Replace What:="$c$2:$c$246", Replacement:="$e$2:$e$246", LookAt _ :=xlPart, SearchOrder:=xlByRows, MatchCase:=False 拷贝D列粘贴到F列F2 Selection.Copy Range("H2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="e", Replacement:="g", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False 拷贝D列粘贴到H列H2 Selection.Copy Range("J2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="g", Replacement:="i", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False 拷贝D列粘贴到J列J2 Selection.Copy Range("L2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="i", Replacement:="k", LookAt:=xlPart, _ ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 SearchOrder:=xlByRows, MatchCase:=False 拷贝D列粘贴到L列L2 Selection.Copy Range("N2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="k", Replacement:="m", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Columns("N:N").ColumnWidth = 5.63 Columns("N:N").ColumnWidth = 5 Range("N2").Select Columns("M:M").ColumnWidth = 5.13 Range("N2").Select ActiveCell.FormulaR1C1 = "=RANm(RC[-1],R2C13:R246C13,0)" Columns("N:N").Select Selection.Replace What:="runm", Replacement:="runk", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Range("N2:N246").Select Selection.Replace What:="ranm", Replacement:="rank", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Copy Range("P2").Select ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="m", Replacement:="o", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Copy Range("R2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Replace What:="o", Replacement:="q", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Range("G4").Select 分别选中F,H,J,„.列,用查找替换的方式,将原来的C列范围”$C$2:$C$246”分别 替换为对应的“$F$2:$F$246”, “$H$2:$H$246”,„„范围 End Sub Sub 01本计算机系降序() Sheets("计算机系").Select Cells.Select Selection.Copy Sheets("01本计算机系降序").Select Range("A1").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 False, Transpose:=False Columns("C:C").Select Application.CutCopyMode = False Selection.Sort Key1:=Range("C1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将C列成绩降序排列 Columns("E:E").Select Selection.Sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将E列成绩降序排列 Columns("G:G").Select Selection.Sort Key1:=Range("G1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将G列成绩降序排列 Columns("I:I").Select Selection.Sort Key1:=Range("I1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’ 将I列成绩降序排列 ××学院毕业论文用纸 院系 专业 毕业论文 第 页 共 页 Columns("K:K").Select Selection.Sort Key1:=Range("K1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’ 将K列成绩降序排列 Columns("M:M").Select Selection.Sort Key1:=Range("M1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将M列成绩降序排列 Columns("O:O").Select Selection.Sort Key1:=Range("O1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将O列成绩降序排列 Columns("Q:Q").Select Selection.Sort Key1:=Range("Q1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ’将Q列成绩降序排列 End Sub ××学院毕业论文用纸
本文档为【字处理实用模板系列(WPS&OFFICE通用)-1455-××毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_421808
暂无简介~
格式:doc
大小:146KB
软件:Word
页数:33
分类:生活休闲
上传时间:2017-09-28
浏览量:54