1、2Training Content第一部分VBA简介VBA IDE简介VBA基本语法和表达式第一部分问答第二部分MS Excel对象模型VBA示例解析动手设计设计解析及问答9VBA基本语法和运算符基本语法和运算符-第一部分第一部分作用域 Dim,过程级,仅用于声明变量。Private,模块级,即可用于声明变量,又可用于修饰子过程。Public,全局级,即可用于声明变量,又可用于修饰子程。*过程默认为Public赋值语句 Sub Test()Dim i as Integer Dim str as String A=12 str=“abc”End10VBA基本语法和运算符基本语法和运算符-第一部分
2、第一部分参数传递方式 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 Sub11VBA基本语法和运算符基本语法和运算符-第一部分第一部分VBA数据类型数据类型字节字符串型 String字符长度(0-65400)字节型 Byte1布尔型 Boolean2整数型 In
3、teger2长整数型 Long4单精度型 Single4双精度型 Double8日期型 Date8公元100/1/1-99/12/31货币型 Currency8小数点型 Decimal14变体型 Variant以上任意类型,可变对象型 Object412VBA基本语法和运算符基本语法和运算符-第一部分第一部分VBA运算符 算术运算符:+,-,*,/,MOD 连接运算符:&比较运算符:=,=,=,逻辑运算符:常用And,Or,Not 不常用Xor(Exp1或Exp2都为真或都为假则为假,否则为真)Eqv(Exp1或Exp2都为真或都为假则为真,否则为假)Imp(Exp1为真,且Exp2为假则为真
4、,否则为假)运算符区分优先级,通常与数学方法一致13VBA基本语法和运算符基本语法和运算符-第一部分第一部分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)三种执行方式:顺序执行,判断执行,循环执行 14VBA基本语法和运算符基本语法
5、和运算符-第一部分第一部分VBA 判断执行 If 条件条件1 Then语句块语句块1ElseIf 条件条件2 Then语句块语句块2Else语句块语句块n+1End IfSelect Case 测试变量测试变量Case 表达式表达式1语句块语句块1Case 表达式表达式2语句块语句块2Case Else语句块语句块n+1End Select15VBA基本语法和运算符基本语法和运算符-第一部分第一部分VBA 循环执行 For 变量变量=初值初值 To 终值终值 Step 步长步长语句块语句块Next 变量变量For Each 对象变量对象变量 In 对象集对象集 语句块语句块Next 对象变量对
6、象变量 Do While 条件表达式条件表达式语句块语句块Loop Do Until 条件表达式条件表达式语句块语句块Loop 16VBA基本语法和运算符基本语法和运算符-第一部分第一部分演示 Sample 1.从1加到100,并将每个累计显示在Excel表格中。Sample 2.自定义一个函数,计算给定日期参数的最大天数。Sample 3.将指定数据表中GP为正数或者为负数的行设置为红色。17VBA基本语法和运算符基本语法和运算符-第一部分第一部分 第一部分第一部分Q&A18MS Excel对象模型对象模型-第二部分第二部分什么叫对象 即是程序需要操作的一个实体。一个人,一本书,一台电脑,一
7、个Excel应用程序,一个Excel表格,一个单元格。对象成员 属性:描述对象的特性、形态、类别等。方法:描述对象的行为。事件:发生于对象上的事情。字段:即对象内部操作的变量。19MS Excel对象模型对象模型-第二部分第二部分20MS Excel对象模型对象模型-第二部分第二部分MS Excel的主要对象 Application|_Workbook|_Worksheet|_Range Application:定义了控制Excel应用程序相关的操作。Workbook:定义了控制一个Excel文件内的相关操作。Worksheet:定义了控制一个Sheet的相关操作。Range:定义了控制一个区
8、域的相关操作。21MS Excel对象模型对象模型-第二部分第二部分Excel常用对象集合 集合就是对象数组。Workbooks,包含多个Workbook。Worksheets,包含多个Worksheet。Cells,对单元格按数值型行列的引用。Excel常用对象事件 Workbook Open BeforeClose Activate NewSheet 22MS Excel对象模型对象模型-第二部分第二部分Workbooks(“Mybook.xls”).Worksheets(“Sheet1”).Range(“B5”).Value=“ABCDE”容器容器容器容器属性属性Workbooks.Cl
9、ose集合对象集合对象23MS Excel对象模型对象模型-第二部分第二部分Excel程序演示 Sample 4,在Excel中调用Word Sample 5,在Excel中调用Host24动手设计第二部分动手设计第二部分考核对Excel基本对象的掌握程度 目标Excel表是By store的Sales清单,要求根据该清单为每一个店创建一个新的 Sheet,该Sheet名为对应的店的店号,Sheet的A1,B2单元格分别记录表头:Store,Sales,A2和B2单元格分别记录对应店的店号和Sales金额。小程序要求能够通过点击一个按钮来自动实现以上过程。以下路径下载文件Examination.xls:labcnnts593SharingVBA Training25VBA基本语法和运算符基本语法和运算符-第一部分第一部分 第二部分第二部分Q&A26VBA基本语法和运算符基本语法和运算符-第一部分第一部分 Thanks!27 结束语结束语