版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VBA语言基础简介(VisualBasicApplication)这里只做一些vba最基本的介绍,好多函数,过程的详尽使用不能能一一说明,同学们参照vba函数速查手册第一节表记符一.定义表记符是一种表记变量、常量、过程、函数、类等语言组成单位的符号,利用它能够完成对变量、常量、过程、函数、类等的引用。二.命名规则1)字母打头,由字母、数字和下划线组成,如
A987b_23Abc2)字符长度小于403)不能够与VB保留字重名,如
public,private,dim,goto,next,with,integer,single
等第二节运算符定义:运算符是代表VB某种运算功能的符号。1)赋值运算符=2)数学运算符&、+(字符连接符)、+(加)、-(减)、Mod(取余)、(整除)、*(乘)、/(除)、-(负号)、^(指数)3)逻辑运算符4)关系运算符
Not(非)、And(与)、Or(或)、Xor(异或)、=(相同)、<>(不等)、>(大于)、<(小于)、
Eqv(相等)、Imp(隐含)>=(不小于)、<=(不大于)、Like、Is5)位运算符(暂时可不看位运算)
Not(逻辑非)、
And(逻辑与)、
Or(逻辑或)、
Xor(逻辑异或)、
Eqv(逻辑等)、
Imp(隐含)第三节数据种类VBA共有12种数据种类,详尽见下表,其他用户还可以够依照以下种类用Type自定义数据种类。数据种类种类表记符字节字符串型String$字符长度(0-65400)字节型Byte无1布尔型Boolean无2整数型Integer%2长整数型Long&4单精度型Single!4双精度型Double#8日期型Date无8公元100/1/1-9999/12/31钱币型Currency@8小数点型Decimal无14变体型Variant无以上任意种类,可变对象型Object无4第四节变量与常量1)VBA赞同使用不决义的变量,默认是变体变量。2)在模块通用说明部份,加入OptionExplicit语句能够强迫用户进行变量定义。3)变量定义语句及变量作用域Dim变量as种类'定义为局部变量,如DimxyzasintegerPrivate变量as种类'定义为私有变量,如PrivatexyzasbytePublic变量as种类'定义为公有变量,如PublicxyzassingleGlobal变量as种类'定义为全局变量,如GloblalxyzasdateStatic变量as种类'定义为静态变量,如Staticxyzasdouble一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。4)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能够改变值,作用域也仿佛变量作用域。以下定义:ConstPi=assingle第五节数组数组是包含相同数据种类的一组变量的会集,对数组中的单个变量引用经过数组索引下标进行。在内存中表现为一个连续的内存块,必定用Global或Dim语句来定义。定义规则以下:Dim数组名([lowerto]upper[,[lowerto]upper,.])astype;Lower缺省值为0。二维数组是按行列排列,如DimX(9)asString声了然一个10个元素的数组,X(0)~X(9),若是没有指定lower,则默认lower=0。再比方DimMyArray(10,10)AsInteger,是个11*11整数数组除了以上固定数组外,VBA还有一种功能富强的动向数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容能够经过加preserve要点字来保留。以下例:Dimarray1()asdouble:Redimarray1(5):array1(3)=250:Redimpreservearray1(5,10)第六节说明和赋值语句1)说明语句是用来说明程序中某些语句的功能和作用,说明语句不会被执行;VBA中有两种方法表记为说明语句。单引号’;如:’定义全局变量;能够位于其他语句之尾,也可单独一行Rem;如:Rem定义全局变量;只能单独一行2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号=,如X=123:=”我的窗口”对对象的赋值采用:setmyobject=object或myobject:=object第七节书写规范1)VBA不区分表记符的字母大小写,一律认为是小写字母;2)最好以行只写一条语句。一行能够书写多条语句,各语句之间以冒号:分开;3)一条语句能够多行书写,以空格加下划线_来表记下行为续行;4)表记符最好能简洁了然,不造成歧义。第八节判断语句1)IfThenElse语句IfconditionThen[statements][Elseelsestatements]condition是个判断条件,当condition为真True,就执行Then后边的statements那些语句,若是为假False,执行elsestatements语句如1:IfA>BAndC<DThenA=B+2ElseA=C+2如2:Ifx>250Thenx=x-100也许,能够使用块形式的语法,即IfThenElse语句能够嵌套:IfconditionThen[statements][ElseIfcondition-nThen[elseifstatements]...[Else[elsestatements]]EndIf如1:IfNumber<10ThenDigits=1ElseIfNumber<100ThenDigits=2ElseDigits=3EndIf2)SelectCaseCaseEndCase语句如1:Pid的取值来决定执行不相同的语句SelectCasePidCase“A101”Price=200‘当Pid的实质值是“A101”,就执行Price=200.后边的以此类推Case“A102”Price=300CaseElsePrice=900EndCase第九节循环语句1)ForNext语句以指定次数来重复执行一组语句Forcounter=startToend[Stepstep]'step缺省值为1[statements][ExitFor][statements]Next[counter]如1:for语句也能够嵌套,以下,两重for循环ForWords=10To1Step-1'建立10次循环ForChars=0To9'建立10次循环MyString=MyString&Chars'将数字增加到字符串中NextChars'IncrementcounterMyString=MyString&""'增加一个空格NextWords2)ForEachNext语句主要功能是对一个数组或会集对象进行,让所有元素重复执行一次语句其作用就是遍历一遍数组或会集对象中的所有元素ForEachelementIngroup‘group必要参数。对象会集或数组的名称(用户定义种类的数组除外)。Statements[Exitfor]StatementsNext[element]如1:ForEachrang2Inrange1With.colorindex=6.pattern=xlSolidEndwithNext这上面一例中用到了WithEndWith语句,目的是省去对象多次调用,加快速度;语法为:Withobject[statements]EndWith3)Doloop语句在条件为trueDo{while|until}condition多说啦StatementsExitdoStatementsLoop也许使用下面语法DoStatementsExitdoStatementsLoop{while|until}condition4)whilewend语句,只要条件为whilecondition[statements]wend
时,重复执行区块命令'while为当型循环,until为直到型循环,顾名思义,不先do再判断,即不论如何先干一次再说TRUE,循环就执行以下例:‘whileI<50‘I=I+1第十节其他类语句和错误语句办理这节能够省略,感兴趣的话能够看看一.其他循环语句结构化程序使用以上判断和循环语句已经足够,建议不要轻易使用下面的语句,诚然VBA还支持。1)Gotoline该语句为跳转到line语句行2)Onexpressiongosubdestinatioinlist也许onexpressiongotodestinationlist语句为依照exprssion表达式值来跳转到所要的行号或行标记3)GosublinelineReturn语句,Return返回到Gosubline行,以下例:Subgosubtry()DimnumNum=inputbox(“输入一个数字,此值将会被判断循环”)Ifnum>0thenGosubRoutine1:num:ExitsubRoutine1:Num=num/5ReturnEndsub‘Wend二.错误语句办理执行阶段有时会有错误的情况发生,利用OnError语句来办理错误,启动一个错误的办理程序。语法以下:OnErrorGotoLine‘当错误发生时,会立刻转移到line行去OnErrorResumeNext‘当错误发生时,会立刻转移到发生错误的下一行去OnErroGoto0‘当错误发生时,会立刻停止过程中任何错误办理过程第十一节过程和函数过程是组成程序的一个模块,经常用来完成一个相对独立的功能。过程能够使程序更清楚、更具结构性。VBA拥有四种过程:Sub过程、Function函数、Property属性过程和Event事件过程。一.Sub过程Sub过程的参数有两种传达方式:按值传达(ByVal)和按地址传达Subpassword(ByValxasinteger,ByRefyasinteger)Ify=100theny=x+yelsey=x-yx=x+100EndsubSubcall_password()Dimx1asintegerDimy1asintegerx1=12y1=100Callpassword(x1,y1)‘调用过程方式:1.Call过程名(参数
(ByRef)。以下例:1,参数2);2.过程名参数1,
参数
2x1,y1Endsub二.Function函数
‘结果是
12、112,y1按地址传达改变了值,而
x1按值传达,未改变原值函数实质是实现一种照射,它经过必然的照射规则,完成运算并返回结果。参数传达也两种:按值传达(ByVal)和按地址传达(ByRef)。以下例:Functionpassword(ByValxasinteger,byrefyasinteger)asbooleanIfy=100theny=x+yelsey=x-yx=x+100ify=150thenpassword=trueelsepassword=falseEndFunctionSubcall_password()Dimx1asintegerDimy1asintegerx1=12y1=100ifpasswordthen‘调用函数:1.作为一个表达式放在=右端;2.作为参数使用x1endifEndsub三.Property属性过程和Event事件过程这是VB在对象功能上增加的两个过程,与对象特色亲近相关,也是VBA比较重要组成,技术比较复杂,能够参照相关书籍。我们的试验不涉及这两部分第十二节内部函数在VBA程序语言中有好多内置函数,能够帮助程序代码设计和减少代码的编写工作。这部分重若是供我们查阅,直接使用的。一般要注意某个函数的需要输入的参数是什么类型的,函数的返回值又是什么种类的一.测试函数IsNumeric(x)IsDate(x)IsEmpty(x)IsArray(x)IsError(expression)IsNull(expression)IsObject(identifier)
‘可否为数字,返回Boolean结果,TrueorFalse‘是否是日期,返回Boolean结果,TrueorFalse‘可否为Empty,返回Boolean结果,TrueorFalse‘指出变量可否为一个数组。‘指出表达式可否为一个错误值‘指出表达式可否不包含任何有效数据(Null)。‘指出表记符可否表示对象变量二.数学函数Sin(X)、Cos(X)、Tan(X)
、Atan(x)
三角函数,单位为弧度Log(x)
返回
x的自然对数Exp(x)返回
exAbs(x)
返拒绝对值Int(number)、Fix(number)都返回参数的整数部分,差异:Int将变换成-9,而Fix将变换成
-8Sgn(number)返回一个Variant(Integer),指出参数的正负号Sqr(number)返回一个Double,指定参数的平方根VarType(varname)返回一个Integer,指出变量的子种类Rnd(x)返回0-1之间的单精度数据,x为随机种子三.字符串函数Trim(string)
去掉
string
左右两端空白Ltrim(string)Rtrim(string)
去掉去掉
stringstring
左端空白右端空白Len(string)
计算
string
长度Left(string,x)Right(string,x)
取
string左段取string
x个字符组成的字符串右段x个字符组成的字符串Mid(string,start,x)
取
string
从start位开始的
x个字符组成的字符串Ucase(string)
变换为大写Lcase(string)Space(x)
返回
变换为小写x个空白的字符串Asc(string)Chr(charcode)
返回一个integer,代表字符串中首字母的字符代码返回string,其中包含有与指定的字符代码相关的字符四.变换函数CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)Val(string)Str(number)
变换为Boolean型变换为Byte型变换为Currency型变换为Date型变换为Double型变换为Decemal型变换为Integer型变换为Long型变换为Single型变换为String型变换为Variant型变换为数据型变换为String五.时间函数No
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年咨询工程师(经济政策)考试题库及完整答案
- 个人技术服务协议书2024年
- 2024年北京客车驾驶员考试试题答案
- 2024年屋顶漏水维修合同范文
- 2024年合肥客运资格证应用能力考试题库及答案
- 2024年托建大学生宿舍专用房屋租赁协议
- 2024年遵义客运从业资格证报名考试题目
- 2024年一份标准的借款合同示例
- 个人借款股份质押担保合同2024年
- 2024年代理采购协议书1000字
- 数学七年级上册《合并同类项》说课-课件
- 2024新教材高中政治 第一单元 生产资料所有制与经济体制 第一课 我国的生产资料所有制 1.1《公有制为主体 多种所有制经济共同发展》教案 部编版必修2
- cet6大学英语六级考试大纲词汇excel版
- 废旧风机叶片循环利用项目可行性研究报告-积极稳妥推进碳达峰碳中和
- QB∕T 2345-2013 脂肪烷基二甲基甜菜碱平均相对分子质量的测定气相色谱法
- 高中英语外刊-小猫钓鱼50篇
- 监理大纲工程监理方案技术标投标方案
- 《3.2认识居民身份证》道法课件
- 《园林制图》课件-曲线与曲面
- 中国移动:5G-A无源物联网典型场景技术解决方案白皮书2024
- PowerPoint培训教程课件
评论
0/150
提交评论