Excel宏功能简单应用介绍.doc_第1页
Excel宏功能简单应用介绍.doc_第2页
Excel宏功能简单应用介绍.doc_第3页
全文预览已结束

下载本文档

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

文档简介

Excel宏功能简单应用介绍所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在 Sheet2的B列里面被复制了4次为止。编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到A7这个没有数据的空单元格,循环结束,我们的工作也就完成了。至于循环里面的内容,我们同样再嵌套一个循环,只不过这次是判断第2行的数据是否全都复制完成了,在这个循环里面自然就是单元格数据和日期的复制了。Sub Macro1()Dim st1yDim st2yDim st1xst1y = 3st2y = 2Do While Sheets(“Sheet1”).Cells(st1y, A) st1x = 2Do While Sheets(“Sheet1”).Cells(2, st1x) Sheets(“Sheet2”).Cells(st2y, B) = Sheets(“Sheet1”).Cells(2, st1x)Sheets(“Sheet2”).Cells(st2y, A) = Sheets(“Sheet1”).Cells(st1y, A)st1x = st1x + 1st2y = st2y + 1Loopst1y = st1y + 1LoopEnd Sub上面就是我编写的这个宏的所有内容,让我再来详细说说每个命令的作用:第一行的“Sub Macro1()”和最后一行的“End Sub”是整个宏的开始和结尾标志,Macro1就是这个宏的名字。“Dim”是定义一个变量,“st1y”是我定义的Sheet1的Y轴坐标变量,同理,“st1x”就是Sheet1的X轴坐标变量,“st2y”自然是Sheet2的Y轴坐标变量了。“st1y = 3”这是一个赋值语句,下面的“Sheets(Sheet2).Cells(st2y, b) = Sheets(Sheet1).Cells(2, st1x)”这句也是,它们的作用都是将等号后面的数值赋予给等号前面的变量,就是说,等号前面必须是一个变量而不能是常量。这里分别给st1y和st2y赋予初始值3和2,代表他们分别是从第3行(Sheet1的日期是从A3开始的)和第2行开始。“Do While”就是我们整个程序中最重要的循环语句了,“Sheets(Sheet1).Cells(st1y, A)”是代表的Sheet1这个工作表的某个单元格,Cells后的括号内就是单元格的坐标,格式是Cells(Y轴,X轴),那个A3这个单元格就应该表示为Cells(3, A),这里注意,字符和字符串常量都必须用引号括起来,另外,X周除了用字母标示以外,也可以使用对应的数字来表示。第一个循环就是判断是否在Sheet1的A列的某个单元格碰到了空白格,如果没有,就进入循环执行里面的程序。与这个“Do While”相对应的就是倒数第二行的“Loop”。进入循环以后对s

温馨提示

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

评论

0/150

提交评论