《Excel_VBA集锦.docx》由会员分享,可在线阅读,更多相关《Excel_VBA集锦.docx(12页珍藏版)》请在优知文库上搜索。
1、一、VBA语言根底标识符1 .定义标识符是一种标识变就、常辰、过程、函数、类等泄吉构成项位的符号,利用它可以完成对变依、常量、过程、函数、类等的引用。2 .命名规那么H字母打头,由字母、数字和下划线组成,如A987b_23Abc2)不能与VB保存字重名,如public,private,dim.goto,next,with,integer,single等运算符1 .数学运算符*加)、-(减)、Mod(取氽)*(整除)、(乘)、/(除)、“(乘事)2 .逻辑运算符Not(非)、And(与)、ON或)3 .关系运算符=(相等)、o(不等)、(大于)、(小于)、=(不小于)、=(不大于)数据类型VBA
2、标准数据类型有(类型名括号内为类型符):字符小型String(三),字节型Bytc,布尔型Boolean,整数型IntegeN%),长整数型1.ong(&),总精度实型Singla!),双精现实里DOUbleW,日期里Dale,货币型CUrrcnCy(),变体型Varianl等,此外用户用TyPe自定义的数据类型.变量与常量1.VBA允许运用未定义的变景,默认是变体变砥,2.变埴定义语句及变求作用域Dim变量as类型Private变litas类型Public变*as类型Global变城as类型Static变量as类型定义为局部变Iih定义为私有变,定义为公有变景,定义为全局变量.定义为静态变址
3、.如DimXasinteger如Privateyasbyte如Publiczassingle如Globlalaasdate如Staticbasdouble一般变ht作用域的原居么是,那部份定义就在那部份起作用,模块中定义加么在该模块那作用.为了便利,可以在变量名后加类型符来代普a$类型”,此时,此时变量名与类型符之间不能有空格。例如DimXasinteger,yassingle,zassiring.也可以用类鞭符简洁定义为dimx%,y!.z$3.常量为变域的一种特例,用Const定义.且定义时赋值,程序中不能变更值作用域也犹如变量作用域.如下定义:ConstPi3.1415926数组数组是包
4、含一样数据类型的一组变量的集合.对数组中的单个变量引用通过数组索引下标进展.在内存中表现为一个连续的内存块.定义观那么如下:Dim数组名(下标)as类以:维数组是按行、列排列,如a(行,列),相像的C谙*:intall;定义了a0同l,.a10imc(34:例如Dima(10)asinteger,定义(a(0),a(1)a(10)这11个整型变S1.Dimb(ICo10)asinteger定义了b(i.,b(IO)这10个整型变M.Dimc(I23.1to4)asimeger定义了一个三行四列的二维整型数殂变取。书写标准1 .VBA不区分标识符的字母大小写,一律认为是小写字母:2 .行可以书写
5、多条语句,各语句之间以渭号:分开:3 .条语句可以多行书写,以空格加下划践一来标识下行为续行;4 .标识符最好能简洁明白,不造成歧义.5 .用单引号打头的局部表示为注萍局部.推断语句1. Ir-ThCn-ElSC语句语法:If条件-hcn语句1Elsc谙句2)Endir例hIfABAndC250ThenX=x-100Endif相应的C语言:switch(Pid)ICasc-Aior:Price=200:break:case41A102:Pricc=MOibreak:default:Pice=900;2. Select-Case-EndCase语句例:SelectPidCase,AIO假如Pid
6、=A101”PriCe=200Case“A102”假如Pil=*A102,PriCe=300CascElsc,有那么PriCC=900EndCase循环语句依次执行循环体相应的C语言:forti=l:i0:i-)循环体;例2:Fori=IOTo1Step-I循环体表示i=10.98.-Nexti2. ForEachNext语句主饯功能是刻一个教祖或集合对象进展,让全部元素正复执行一次语句。3. Do(WliiIcIuntiI)1.oop为当型循环(或whilewend),until为宜到型循环.相应的CiW吉:while(iIO)循环体;例:DowhilciIO循环体,表示只要i10就反独执行
7、循环体1.oop留意,可以运用EXitFor语句来退出FOr循环.用ExitDo语句来退出Do.1.oop谙句.4. With语句在一个单一对以上执行一系列的语句不用更笑指出时荻的名称.WithobjectstatementsEndWith错误语句处理执行阶段有时会有错误的状况发生,利用OnEIwr语句来处理情设,启动一个措说的处理程序。谙法如下:OnEnorGk代表当前处于活动状态的工作簿,即当前显示的EXCel文件:ThiSWOAbOok代衰其中有ViSUalBasic代码正在运行的工作簿。在详细运用中可用WOrkbOOkS(index)来引用Workbook对象.其中index为工作簿名
8、称或编号:如WOrkbOOks(I)、WorkbgkM”年度报表.xK).而编号依据创立或朝开工作簿的依次来确定,第一个翻开的工作簿编号为1,其次个翻开的工作簿为22、工作表rWorksheets、Worksheet、ActiveShectWorksheets集合包含工作中全部的工作去,即一个EXCel文件中的全部数据表页:而Worksheet原么代表其中的一个工作表:AetiVeShee代表当前处于的活动状态工作表,即当前显示的一个工作表。可用WOrkSheeiS(index)来引用Worksheet对象,其中index为工作表名称或索引号:如WodcSheeU(1)、WorkShCetSC
9、第一季度数据)工作表索引号说明该工作表在工作表标签中的位置:第个(最左边的)工作表的索引号为1.最终一个(最右边的)为WorkShetSCount.须要留意的是:在运用过程中EXCel会自动理挂J1.作衣索引号,保持依据此在工作表标签中的从左至右排列,工作表的索引号递增.因此,由于可能进展的工作衣添加或删除,工作表索引号不肯定始终保持不变,3、行与列IRows、Columns、Row,ColumnRows,ColUmn、分别代表活开工作表、中元格区域范围Rangc、指定工作表中的全部行数、列数.对于个多项选择单元格区域范用Range的Rows、Columns,只返回该莅国中第一个区域的行数、列
10、数,例如,假如Range对歆有两个区域(amas)A1.B2和C3:D4.Rows.Count返回2而不是4.可通过Rows(行号)、COIUmnM列号冰引用相应的行与列:如ROWS(3)、COIUmnS4)分别对应第三行、D列.利用ROWs、CoIUmnS可以获得区域中笫,块的第一行行号、第一列列号,所得值均以十进制数去示。4、单元格!Cells、ACtiveCeII、Range、AreasCelk(row,column)代表单个单元格,其,l,row为行号,column为列号.如可以用CeHs(1,1)、Cclls(IO,4)来引用A1Dl0单元格,ActiVeCell代表活开工作表的活动
11、单元格,或指定工作表的活动单元格。Rimge代表工作表中的某一单元格、某一行、某一列.某一选定区域(该选定区域可包含一个或假设干连续单元格区域;或者某一三维区域.可用RangUarg)来引用单元格或单元格区域,其中arg可为成元格号、单元格号范围、单元格区域名称。如RangeeA5)、Range(AkH8).RangeCCriteria).虽然可用RangecAl)返回单元格A1.但用CeHS更便利,因为此时可用变量指定行和列。可将Range与Cells结合起来运用,如Ru11ge(Cdls(1.1).Cdls(10.10代表单元格区域Al:JlO.5、BWtChart、Charts%Char
12、lbjectChartObJectsActiveCharlCharI代表工作簿中的图表。该图表既可为嵌入式图表包含在ChartObjl中),也可为一个分开的(单独的)图表工作表.ChartS代我指定工作簿或活开工作簿中全部图我工作衣的集合,但不包括嵌入式在工作友或对话框编钟表中的图表。运用ChaUS(index)可引用单个Chan图表,其中index是该图表工作表的索引号或名称:如ChartS(1)、ChanS(精仰图表”).图表工作表的索引号表示图表工作表在工作簿的工作衣标签栏上的位置.ChartS是工作簿中第一个1最左边的)图表工作表:ChartMehartS.Count)为最终一个(最右边的)图表工作表.ChariObjeci代表工作表中的嵌入式图表,其作用是作为Chart对象的容器,利用ChartObjeci可以限制工作表上嵌入式图表的外观和尺寸。ChartObjects代表指定的图表工作表、对话框编辑表或工作表上全部嵌入式图表的集合.可由ChartObJcct