《Ecel宏功能简单应用介绍.docx》由会员分享,可在线阅读,更多相关《Ecel宏功能简单应用介绍.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Excel宏功能简单应用介绍所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的
2、连续单元格中是一组共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次为止。编写宏只要有
3、一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到
4、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
5、, 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”自然是Sh
6、eet2的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后的括
7、号内就是单元格的坐标,格式是Cells(Y轴,X轴),那个A3这个单元格就应该表示为Cells(3, A),这里注意,字符和字符串常量都必须用引号括起来,另外,X周除了用字母标示以外,也可以使用对应的数字来表示。第一个循环就是判断是否在Sheet1的A列的某个单元格碰到了空白格,如果没有,就进入循环执行里面的程序。及这个“Do While”相对应的就是倒数第二行的“Loop”。进入循环以后对st2x进行赋值,然后进入第二个循环,判断Sheet1的第2行是否遇到了空白单元格,没有的话就继续执行下面的程序。之后就是按照规则对单元格内容进行复制,之后给变量增值,以便循环能够顺利的执行,直到完成所有的操作。4 / 4