VBA初级使用培训资料.ppt
1,ISD Training Session,VBA Level 100,2,Training Content,第一部分VBA简介VBA IDE简介VBA基本语法和表达式第一部分问答第二部分MS Excel对象模型VBA示例解析动手设计设计解析及问答,3,VBA简介-第一部分,当今主流程序语言 面向对象:C#.Net,VB.Net,Java,C,C+等 面向过程:VB 6.0,各类Script语言,Delphi,PB,Perl等什么是VBA?VBA全称为Visual Basic For Application,VBA是VB的一个子集,包含了VB 6.0近80%的功能,其语法结构与VB 6.0基本一 致。VBA用于对宿主应用程序的二次开发,实现高效、批量以及智能化的操作,宿主应用程序未提供的功能,可以通过VBA来实现。Office开发者,全球260万。,4,VBA简介-第一部分,什么是宏?宏(Marco)是包括了一连串指令的小程序,宏通过VBA的代码来实现,通常是通过录制产生。VBA和宏的区别 从语法层面来讲,它们没有区别,但通常宏只是一段简单的或是不够智能化的VBA代码,使用宏不需要具备专业知识,而VBA的使用则需要专业的知识。,5,为何要使用 VBA宏缺少伸缩的弹性记录了许多不需要的步骤记录了许多不需要的资料无法使用较深入的功能无法完成重复性的工作无法完成需要条件判断的工作,宏,VBA,VBA简介-第一部分,6,VBA简介-第一部分,VBA在沃尔玛的应用环境 在沃尔玛,可以使用VBA的环境包含:(但不限于)Excel,Word,Power Point,Visio,Outlook等所有MS Office应用程序。Reflection(Host操作终端)Auto CAD VBA实现机制 VBA是Microsoft提供的一整套付费二次开发模型。,7,VBA IDE简介-第一部分,IDE集成开发环境(Integrated Development Environment)Project Explorer:项目浏览器 Properties Windows:属性窗口 Code Editor:代码编辑器 Immediate Window:立即窗口 Watch Window:查看窗口 Object Browser:对象浏览器 UserForm:用户窗体 Module:模块 Class Module:类模块Hello World演示,8,VBA基本语法和运算符-第一部分,基本概念 常量:在程序运行过程中始终保持不变。声明语法:Const 常量名称 as 数据类型 变量:存储临时计算结果的一块内存区域。变量必须以字母开头,不能有特殊符号,如.!#$%&等。声明语法:dim 变量名称 as 数据类型 数组:是一组相同类型的变量。动态数组,即动态定义的数组。过程:VBA程序执行的基本单位,包括模块过程,事件过程和函数过程。函数过程是特殊的模块过程,两者之间的区别在于函数有返回值,而模块过程没有。Sub Test(参数1 as 类型,参数2 as 类型)End Sub Function GetName()as 类型 End Function,9,VBA基本语法和运算符-第一部分,作用域 Dim,过程级,仅用于声明变量。Private,模块级,即可用于声明变量,又可用于修饰子过程。Public,全局级,即可用于声明变量,又可用于修饰子程。*过程默认为Public赋值语句,Sub Test()Dim i as Integer Dim str as String A=12 str=“abc”End,10,VBA基本语法和运算符-第一部分,参数传递方式 ByVal,按值传递。ByRef,按引用传递。,Private g1 As StringPrivate g2 As StringSub Test(ByVal t1 As String,ByRef t2 As String)t1=ByVal t2=ByRefEnd SubSub Run()Call Test(g1,g2)Debug.Print g1 Debug.Print g2End Sub,11,VBA基本语法和运算符-第一部分,VBA数据类型,12,VBA基本语法和运算符-第一部分,VBA运算符 算术运算符:+,-,*,/,MOD 连接运算符:&比较运算符:=,=,逻辑运算符:常用And,Or,Not 不常用Xor(Exp1或Exp2都为真或都为假则为假,否则为真)Eqv(Exp1或Exp2都为真或都为假则为真,否则为假)Imp(Exp1为真,且Exp2为假则为真,否则为假)运算符区分优先级,通常与数学方法一致,13,VBA基本语法和运算符-第一部分,VBA常用函数 字符串函数:Left,Right,Mid,Len,Trim.类型转换函数:CInt,CByte,CLng,CDbl,CBool,.时间函数:Now,Year,Day,Time,Hour,Minute,Second 数学函数:Abs,Cos,Sin,Sqr 财务函数:Rate,IRR,NPV,.VBA控制语句 赋值语句:A=12 str=“abc”对象赋值:Set ws=Worksheets(1)三种执行方式:顺序执行,判断执行,循环执行,14,VBA基本语法和运算符-第一部分,VBA 判断执行,If 条件1 Then语句块1ElseIf 条件2 Then语句块2Else语句块n+1End If,Select Case 测试变量Case 表达式1语句块1Case 表达式2语句块2Case Else语句块n+1End Select,15,VBA基本语法和运算符-第一部分,VBA 循环执行,For 变量=初值 To 终值 Step 步长语句块Next 变量,For Each 对象变量 In 对象集 语句块Next 对象变量,Do While 条件表达式语句块Loop,Do Until 条件表达式语句块Loop,16,VBA基本语法和运算符-第一部分,演示 Sample 1.从1加到100,并将每个累计显示在Excel表格中。Sample 2.自定义一个函数,计算给定日期参数的最大天数。Sample 3.将指定数据表中GP为正数或者为负数的行设置为红色。,17,VBA基本语法和运算符-第一部分,第一部分Q&A,18,MS Excel对象模型-第二部分,什么叫对象 即是程序需要操作的一个实体。一个人,一本书,一台电脑,一个Excel应用程序,一个Excel表格,一个单元格。对象成员 属性:描述对象的特性、形态、类别等。方法:描述对象的行为。事件:发生于对象上的事情。字段:即对象内部操作的变量。,19,MS Excel对象模型-第二部分,20,MS Excel对象模型-第二部分,MS Excel的主要对象 Application|_Workbook|_Worksheet|_Range Application:定义了控制Excel应用程序相关的操作。Workbook:定义了控制一个Excel文件内的相关操作。Worksheet:定义了控制一个Sheet的相关操作。Range:定义了控制一个区域的相关操作。,21,MS Excel对象模型-第二部分,Excel常用对象集合 集合就是对象数组。Workbooks,包含多个Workbook。Worksheets,包含多个Worksheet。Cells,对单元格按数值型行列的引用。Excel常用对象事件 Workbook Open BeforeClose Activate NewSheet,22,MS Excel对象模型-第二部分,Workbooks(“Mybook.xls”).Worksheets(“Sheet1”).Range(“B5”).Value=“ABCDE”,属性,Workbooks.Close,集合对象,23,MS Excel对象模型-第二部分,Excel程序演示 Sample 4,在Excel中调用Word Sample 5,在Excel中调用Host,24,动手设计第二部分,考核对Excel基本对象的掌握程度 目标Excel表是By store的Sales清单,要求根据该清单为每一个店创建一个新的 Sheet,该Sheet名为对应的店的店号,Sheet的A1,B2单元格分别记录表头:Store,Sales,A2和B2单元格分别记录对应店的店号和Sales金额。小程序要求能够通过点击一个按钮来自动实现以上过程。以下路径下载文件Examination.xls:labcnnts593SharingVBA Training,25,VBA基本语法和运算符-第一部分,第二部分Q&A,26,VBA基本语法和运算符-第一部分,Thanks!,