使用VBA编程Word模板论文设计_第1页
使用VBA编程Word模板论文设计_第2页
使用VBA编程Word模板论文设计_第3页
使用VBA编程Word模板论文设计_第4页
使用VBA编程Word模板论文设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文(设计)题 目 指导教师 学生姓名 专 业 教学单位 (盖章) 目录使用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 VB

2、A. The target is the sets of code and data. The targets attribute is used for defining the targets characteristic . The targets method is used for describing the targets behavior. It is a order set to be great, used for writing down VBA procedure . Function of VBA in Excel. Introduction to the insta

3、nce .【关键字】VBA 宏 面向对象的程序设计 模块 Visual Basic编辑器 对象 属性 方法【KEYWORD】VBA Hong Object-oriented programming Modular Visual Basic editor ware Target Attribute Method一、 关于VBA1. 什么是VBA VBA,即Visual Basic for Application的简称,是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而

4、VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。2. VBA的开发环境既然我们要编写“VBA”程序,就需要先看看“VBA”的开发环境。“VBA”的开发环境是开发“VBA”程序相应的“设计器”,但我们不这么称

5、呼它,而是叫它“VBA开发环境”,这种说法是继承了计算机语言对开发器的一种统一叫法。我们首先要打开一个Office套件,按【Alt+F11】或选择【工具】菜单【宏】子菜单下【Visual Basic编辑器】菜单项既可打开VBA编辑器,这就是“VBA”的“开发环境”,如图1-1所示。VBA开发环境分为“主窗口”、“模块代码”、“工程资源管理器”和“模块属性”这几部分。“模块代码”窗口用来输入“模块”内部的程序代码。“工程资源管理器”用来显示这个数据库中所有的“模块”。当我们用鼠标单击这个窗口内的一个“模块”选项时,就会在模块代码窗口上显示出这个模块的“VBA”程序代码。而“模块属性”窗口上就可以

6、显示当前选定的“模块”所具有的各种属性。二、 如何学习VBA 要学习VBA,让我们先了解一下VBA中的对象和方法。作为一个面向对象的程序设计语言,VBA程序的关键组成要素也同样是对象,而每个对象则由其属性、事件以及方法定义。其中,对象的属性决定了对象的特征,即对象是什么;对象的方法可以使对象完成某种任务,即定义对象可以做什么;通过为对象的事件编制过程,则可以在该对象的某个事件发生时,运行该过程,从而使对象响应指定行为。VBA程序设计语言共提供144个对象。拿Excel为例,位于最顶层的是Application(应用程序)对象,它代表整个Excel 2000应用程序,Excel 2000中的其他

7、对象都是该对象的子对象。当然,在Application对象的子对象中,有些对象还包括其他的子对象,如Worksheet(工作表)对象就包含了Names、Range、Hyperlink以及OLEObjects等许多其他子对象。另外,每个对象都有其相应的属性、方法以及事件集合,他们共同规划该对象。如何使用这些属性、方法以及事件集合控制对象行为,是赋于对象灵魂的关键所在,也是利用VBA程序完成应用系统开发的关键技术。1. 什么是对象和集合在VBA中,所谓对象,就是指代码和数据的集合,可将对象看作一个单元,例工作簿、工作表、单元格区域、控件、窗体、以及应用程序部件等都是对象。在VBA中,每个对象都由类

8、进行定义。一般地,每个对象都有一系列的属性、方法和事件。其中,对象的属性决定了对象的特征,即对象是什么;对象的方法可以使对象完成某种任务,即对象可以做什么;此外,通过为对象的事件编制过程,可以在该对象的某个特定事件发生时,执行该过程,即对象可以响应的行为。对象的集合则是指若干个对象的组合体。利用一个与计算机应用相关的例子可以形象介绍对象和集合的概念。即:如果将计算机作为一个对象,则计算机的型号、颜色、形状以及重量等就是它的属性,利用计算机处理文本、播放音像文件、玩电脑游戏就是它的方法,开启和关闭电源、移动鼠标、敲击键盘则是它的事件。因此,对于一个计算机对象,它的各种属性可以决定计算机的各种特征

9、,它的方法决定了它的功能,而为它的事件定义的各种过程,如开机自检等,则是计算机在发生某个事件时所执行的操作。更进一步说,将所有计算机的属性、方法、事件加以抽象,得到的共性的属性、方法和事件则就构成了一个计算机类,而每个具体的计算机则是计算机类的一个实例。如果将计算机做进一步地“分解”,则可以发现,每个计算机都是由一些更小的对象组成的。在这个意义上讲,计算机对象就是一个集合对象,它由显示器、硬盘、内存、各种板卡、键盘以及鼠标等对象组成,这些组成计算机集合对象的各个对象都分别具有各自的属性、方法和事件。同样,如果将一个局域网看作一个集合对象,则计算机对象就是该集合对象的一个组成对象,它同网络连线、

10、路由器等对象一同组成了一个局域网集合对象。在Visual Basic编辑器中,可以利用【对象浏览器】方便的查询到每个对象的属性和方法列表,其方法是:启用【视图】菜单中的【对象浏览器】菜单项。在【对象浏览器】窗口中,可以利用【工程/类】下拉式列表框选择要查看的类,可以利用【搜索文字】下拉式列表框和【搜索】按钮查找指定对象,可以在【类】列表框中定位某个对象,可以利用【成员】列表框查看指定对象的所有属性、方法和事件,可以利用最下部的【代码模板】窗口查看属性、方法和事件的说明,参见图1-2:2. 事件的含义和用法简单的说,一个事件是指发生在对象上的某种行为。例如,当用户打开一个工作表时就会激发一个工作

11、表的打开事件。一般情况下,事件本身不能完成任何操作,用户需要为事件定义或指定过程,从而使其可以完成某项任务。除【对象浏览器】外,还可以利用Visual Basic编辑器中的【过程】列表框,查看指定对象的所有事件,其方法是:首先在Visual Basic编辑器窗口中打开一个工程文件,然后在工程窗口中定位要查看事件的对象集合,例如某个工作表,最后在【对象】列表框中选中要查看的指定对象,例如工作表中的某个控件,此时,【过程】列表框中将陈列出该对象的所有事件,参见图1-3:属性和方法的含义和用法对象的属性用于定义对象特性,如大小、颜色和对象状态等。在VBA中,对象的属性有只读属性和非只读属性两种。其中

12、,设置对象只读属性的语法为:Object. Property=Value其中,Value是一个表达式,该表达式返回要设置的属性值。为一个对象定义了只读属性后,可以利用Object.Property引用该属性的值。对象的非只读属性,则不能直接设置和使用,他们只能利用对象的方法进行设置,并在对象方法中引用。与对象的属性不同,对象的方法主要用于描述对象的行为,而且,与对象的事件过程不同,对象的方法都是VBA中预定义的,因此用户只能使用而不能修改对象的方法。对象的方法中,有些具有参数,有些不具有参数。对于没有参数的方法,其引用语法为:Object.Method对于具有参数的方法,引用时,并不需要给出全

13、部的参数值,而只需要给出其中必要的参数值即可。例如:引用工作簿的Open方法时,只要给出FileName参数即可。三、 VBA语法VBA的很多语法继承了VB,所以我们可以像编写VB语言那样来编写VBA程序,以实现某个功能。微软Office组件中大多是用宏来记录VBA程序的。宏是一个指令集合,他可以使Office办公软件中的套件自动完成用户指定的动作组合。下面,我们将以宏为例,详细介绍VBA程序的结构及组成要素。请看图1-4中的一段VBA程序代码, 图1-4 一段VBA程序代码其中:1)每个宏都以Sub开始,Sub后面紧跟着是宏的名称和一对括号:此外,宏以End Sub结束,这种定义方法表明每个

14、宏实际上都是Visual Basic中得一个子过程。注意:在Visual Basic编辑器中,Sub与End Sub等保留字默认都是一蓝色字符进行标识。2)以符号“”开始的语句是VBA中的注释语句,他没有任何实际意义,一般用于表示一些有用的说明信息,如宏的编制者、宏的编制日期、宏的作用,以及宏中某段程序的作用等。同时,为区分注释语句和一般可执行程序语句,Visual Basic编辑器利用绿色字符表示注释语句。3)“Selection.NumberFormatLocal = _”是这个宏中最重要的语句。其中,“Selection”代表当前选中的区域;“NumberFormatLocal”表示选中

15、区域的属性或特性;等号“=”是Visual Basic语言中赋值语句的标记,他表示将等号右边的值赋予等号左边的对象属性;下划线“_”表示下一行的语句是本语句的一部分,利用下划线,可以将VBA中较长的语句分割成若干行从而使得程序更加容易阅读。4)语句“_ ¥* #,#0.00_ ;_ ¥* -#,#0.00_ ;_ ¥* -?_ ;_ _”表示要对当前选定区域应用的格式设置。注意:Visual Basic编辑器中,一般的可执行程序语句都用黑色字符进行标识。这段VBA程序虽然简单,但却几乎包含了VBA程序所涉及的所有基本概念和基本要素。首先,作为一种面向对象的程序语言,VBA程序的基础就是对象、属

16、性和方法,每个对象都是由属性和操纵该对象属性的方法集合组成,属性的值决定了对象,而方法则是操纵对象属性值的途径。在本例中,“Selection”就表示一个对象,即所谓“选定的对象”,它的具体内容要根据用户的选择决定,可能是一个单元格(区域),可能是整个工作表,也可能是某段文字。“NumberFormatLocal”则是表示一种对象属性,将对象和属性用一个“.”连接在一起,形成“Selection.NumberFormatLocal”格式,即表示选定对象的相应属性。“=”则表示为某个属性赋值,“=”左边是某种属性,右边则是属性值,利用“=”为对象属性赋值是VBA中最简单、最直接的途径,而更复杂的

17、操纵对象和对象属性的途径则是利用VBA程序中提供的各种方法集合。四、 VBA设计-面向对象的VBA VBA 与传统宏语言的重要区别之一就在于它是面向对象的。对象是为了在VBA 程序中管理数据和代码的方便提出来的。在VBA 中,对象是封装有数据和代码的客体。例如,UserForm 对象是一个窗口或对话框,用以构成应用的用户界面部分。Word 对象是VBA 为Word 编程所采取的看待世界的方法。对象代表一个Word 的元素,如文档、段落、书签或单个的字符。集合是一个对象,该对象包含其他数个对象,通常这些对象属于相同的类型。例如,一个集合对象中可包含文档中的所有书签对象。通过使用属性和方法,可以修

18、改单个的对象,也可修改整个的对象集合。在一个应用程序中,最高级别的对象通常是Application 对象,它就是应用程序本身。例如, 在Microsoft Word 对象中的Application 对象就是Microsoft Word 本身。在Application 对象中包含了一些其他的对象,例如,在Microsoft Word 的Application对象中包含了Document、Windows、Selection 等对象。因为Document对象的存在依赖于Word 的Application 对象的存在,所以此Document 对象被称之为Application 对象的子对象(Child

19、),反过来,此Application 对象被称为Document 对象的父对象(Parent)。许多子对象又有它们自己的子对象。例如,在Microsoft Excel 中,Documents 对象包含了Document 对象,或者说,它是Document 对象的父对象,一个父对象可以拥有多个子对象;例如,Word 的Windows对象拥有Panes、Selection 以及Object 等子对象。同样,一个子对象也可以拥有多个父对象;Word 的Windows 集合对象同时是Application 对象和Document 对象两者的子对象。对象组成应用程序的方法,彼此之间按照它们被分开的内容的

20、功能又相互联系起来,这叫做对象的分层结构(Objecthierarchy)或是对象的模型(Object model),如图1-5 所示为Microsoft Word 对象的结构模型图。五、 VBA的对象模型-ExcelVBA是一个通用的程序语言,它可以共享Microsoft各种相关的重要软件。因此,同Microsoft Word一样,Microsoft Excel也有类似于图1-5的对象结构模型图。在这里,我们将以Microsoft Excel为例对VBA进行详细讲述。1. Excel中VBA的功能以VBA编写的程序允许用户将其复制到Visual Basic中加以调试,用Visual Basi

21、c宏来控制Excel。其功能为:(1) 当记录宏不能满足用户需要或用记录宏无法记录命令时,可以用VBA语言创建宏来控制工作簿的各项操作。(2) 创建用户对话框、工具按钮或自定义命令,把Excel提供的多个工具按钮连接起来,作为一个工具按钮。(3) 利用重复语句控制循环宏内操作,利用不同参数执行某个相关功能模块,使宏指令完成一系列复杂操作来连接多个宏。(4) VBA提供了许多内部函数,允许用户自定义函数来简化对工作簿、工作表、图表等复杂操作。2. Excel中VBA程序的基本架构如图1-6所示:使用对象的程序语法图1-6 Excel的对象结构六、 综合实例【用VBA编程实现Excel中成绩的自动

22、统计】在学校的教学活动中,通过统计分析学生的考试成绩,了解教学情况,为改进以后的教学工作提供依据,是整个教学工作中非常重要的一环。但经常按各种不同的指标统计分析成绩,又是一件很枯燥,很繁琐的事。为了使需统计的各种指标,无需人工干预,而让计算机自动完成,那么就需要通过Excel中自带的VBA,来实现这个功能。下面以我校01本计算机系成绩统计为例,介绍其作法。1. 设计流程,编制程序源代码:为便于说明做法,同时代码简短一点,这里以01本计算机系1-4班成绩统计为例,说明其做法。另外为使编写代码效率高一些,这里采用先录制一部分为宏,再在VBA中打开编辑相结合的办法编写。 (1) 从外部的“01计本考

23、试成绩.xls”工作簿中将1-4班的成绩拷贝,依次粘贴到“01计本成绩统计.xls”工作簿中的“01本计算机系”表中; 程序源代码见附录一 (2) 利用Excel的统计函数“RANK”将01本计算机系表中学生的各科成绩排名次;目的是让每位学生了解自己在全年级学生中的排名的位置。 程序代码见附录二 (3) 将01本计算机系的成绩拷贝,粘贴到新表“01本计算机系降序”表中,并对各科成绩按降序排序,确定分析中的A,B等优秀分数线; 程序源代码见附录三(4) 建立分析表,列出各班统计的各种参数指标值。 在前面的“01计本成绩统计.xls”工作簿中建立如下分为数据结构、数据库、操作系统、综合、总分等项目

24、的“成绩分析”表。 这里将各科前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是条件纪录数值项数的

25、函数,其中的“01本计算机系!”表示成绩统计工作簿中的“01本计算机系”表,“C2:C60”表示1班的数据结构科数据范围,“=90”表示数据满足的条件。 求和就直接用Excel的求和函数计算,如数据结构科1班优秀分数线的总人数合计公式为:=SUM(C6:D6) 求平均分和求总分用Excel的求平均函数与求和函数计算,如1班数据结构总分公式为:=SUM(01本计算机系!C2:C60),数据结构平均分公式为:=AVERAGE(01本计算机系!C2:C60)。 将上述表中的每个单元格内的公式输入完毕,你的成绩自动统计表就做好了。 2. 保存好你的01本成绩统计工作薄,只要在每次统计成绩时,同时打开0

26、1本考试成绩原始数据表和你的01本成绩统计工作簿,按次序 (1) 选定01本成绩统计工作簿中的01本计算机系表的A1单元格,运行宏拷外部01本计算机系成绩,从外部将数据拷到“01本计算机系表”; (2) 运行宏01本计算机系名次,排出01本计算机系表中每一位同学的各科成绩的名次; (3) 选定01本计算机系降序表的A1单元格,运行宏01本计算机系降序,将“01本计算机系”表数据拷到“01本计算机系降序”表中,并将每科成绩按列从高到低排列; 这时,成绩分析表中的数据就会按表内的公式,将各班成绩的各种指标一一统计出来。 另外,如果第二次考试各班的人数有变化,可以通过选中成绩分析表中该班所在行,用查

27、找替换的方式变更;第二次考试A,B等优秀分数线,也可以通过选中该列,用查找替换的方式改变。如果班级有增加或减少,可以在VBA中,通过增删部分代码来适应你的班级个数。3. 为了使自己编制的宏只允许别人使用,而不想让别人看到其代码,我们可以对其实行密码保护。方法为:在“模块”上单击鼠标右键,选择“VBAProject属性”命令,在“保护”选项卡中设置密码,如图1-7所示,那别人就看不到你的源程序了。4. 为了使VBA程序执行起来更加的方便,我么可以设置工具栏按钮来运行宏程序,这也是一种更直观通用的方法。其步骤为:(1) 首先单击Excel 2000中【视图】菜单【工具栏】子菜单中的【自定义】菜单项

28、,或先右击任意一个工具栏,如【常用】工具栏,然后单击其快捷键菜单中的【自定义】菜单项,启动【自定义对话框;(2) 在【自定义】对话框中单击【工具栏】选项卡,并单击该选项卡中的【新建】按钮;(3) 在【新建】工具栏对话框的【工具栏的名称】文本框中输入新建工具栏的名称,如【成绩统计】工具栏,并单击【确定】按钮,此时,工作表中将出现一个新的、不包含任何工具按钮的【成绩统计】工具栏,请参见图1-8;图1-7 为工程设置密码保护图1-8 在Excel中创建一个新工具栏(4) 首先在【自定义】对话框中单击【命令】选项卡,然后再【类别】窗口中选中【宏】选项,其次在【命令】窗口中单击选中【自定义按钮】选项,并

29、将其拖动到【成绩统计】工具栏中,重复该操作,直到【成绩统计】工具栏中出现三个“”按钮。用鼠标右击【成绩统计】工具栏中的第一个“”按钮,单击菜单中的【指定宏】菜单项,请参见图1-9,此时,系统将弹出【指定宏】对话框,为它选中拷外部01本计算机系成绩宏,按【确定】;同样,为第二个指定01本计算机系名次宏,为第三个指定01本计算机系降序宏;图1-9 为工具栏中的图标按钮指定宏(5) 虽然我们已经建立了一个名称为“成绩统计”的工具栏,并将各个宏分别指定为该工具栏中的相应图标按钮,但这三个按钮具有相同的外观,且没有任何说明信息。因此,我们要为其更换图标外观,并添加说明文字,其操作步骤为:首先右击Exce

30、l 2000中的任意一个工具栏,如【常用】工具栏,并在相应的快捷菜单中单击【自定义】菜单项,弹出自定义对话框;然后在【自定义】对话框中单击【工具栏】选项卡,并和选【工具栏】窗口中的【成绩统计】选项;用鼠标右击【成绩统计】工具栏中的第一个“”按钮,并在相应快捷菜单中的【命名】框中输入说明文字,如:“拷外部01本计算机系成绩”。此后,每次当鼠标在该图标按钮上停留时,都将显示这段文字,从而使得命令按钮对我们具有一定的提示性;用鼠标右击【成绩统计】工具栏中的第一个“”按钮,则可以在相应快捷菜单中,利用【更改按钮图标】面板为该按钮选择一个新的具有说明意义的图标,请参见图1-10,也可以先单击【编辑按钮图

31、标】菜单项,再利用【按钮编辑器】对话框编辑指定按钮图标。关于第二个和第三个按钮的设置,此处不再详述。图1-10 为工具栏上的按钮更换图标完成以上步骤后,一个具有说明意义、与众不同的工具栏就创建好了。有了这个工具栏的帮助,成绩统计工作将不再繁琐,这也正是VBA的目的所在。七、 总结VBA通过对在Excel中用VBA编程的学习,使我深刻领略到微软Office套件的功能齐全、先进以及使用简单方便,促使我们着手以微软Office套件为基础进行软件的二次开发,从而对该软件有更全面的了解。通过VBA编程,用户可以将一些重复繁琐的工作通过简单的操作即可完成,既提高了工作效率,又避免了在重复操作过程中出现差错

32、的可能。相信微软Office软件在我国已被愈来愈多的应用人员认识和接受,也相信会有更多的人能够用VBA编程来让软件更好的为用户服务,满足用户更加具体的要求。同时,希望微软公司能够在该软件中嵌套更多的可以实现软件二次开发的语言,以方便熟练不同语言的用户。由于水平所限,对微软Office软件接触时间短,认识也浮浅,文中可能有不妥或错误之处,敬请指正。【参考文献】1. 苏茜 李新承着 Excel行家实战问答集 北京 中国铁道出版社 2004.5 第243页2. 吴金生着 Excel 2000中文版VBA开发实例指南 北京 电子工业出版社 2000.8 第8页3. 李祥平等着 图解精通Office 2

33、003 北京 中国水利水电出版社 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.Win

34、dowState = 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计本考试成绩

35、.xls).Activate ActiveWindow.WindowState = xlNormal Sheets(2班).Select Range(A2).Select ActiveWindow.SmallScroll Down:=43 Range(A2:S58).Select Application.CutCopyMode = False Selection.CopyWindows(01计本成绩统计.xls).Activate ActiveWindow.WindowState = xlNormal Range(A61).Select ActiveSheet.Paste 拷贝“01计本考试成

36、绩.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

37、.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:=x

38、lUp 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 Rang

39、e(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:=xlFill

40、Default 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

41、:=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.Cut

42、CopyMode = 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, MatchC

43、ase:=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).Col

44、umnWidth = 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,

45、_ SearchOrder:=xlByRows, MatchCase:=False Selection.CopyRange(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 =

46、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 Col

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论