《VBA编程入门》PPT课件.ppt
《《VBA编程入门》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VBA编程入门》PPT课件.ppt(85页珍藏版)》请在三一办公上搜索。
1、VBA编程入门,目录,序-3VBA编程环境-7VBA编程基础-12VBA常用语句-32VBA流程控制-35VBA数组-57VBA过程-69VBA操作数据库-76,序言,VBA是什么?,简单的说VBA是一种编程语言,它可以支持在Office系列软件中命令和功能的编写。Excel VBA则是以Microsoft Excel为开发对象的VBA语言。如运行下面的VBA代码就可以在单元格A1中输入100。,Sub T1()Range(a1)=100End Sub,VBA有什么作用,怎么才能学好VBA,进入VBA编程环境VBA窗口的组成 VBA窗口由工具栏、工程资源管理器窗口、属性窗口、代码窗口和立即窗口
2、组成。新建模块进行VBA编程,V-1 VBA编程环境,进入VBA编程环境(Excel2007),如果是在Office 2007中,若你没看到“开发工具”选项卡的话,先到选项中打开它。,VBE编程环境,然后在“开发工具”选项卡的“代码”区域里按”Visual Basic”按键,就可以打开同样的界面,标准工具条,视图Microsoft Excel按钮:切换Excel 2007窗口插入按钮:插入模块或过程运行子过程/用户窗体按钮:运行模块中的程序中断按钮:中断正在运行的程序重新设置按钮:结束正在运行的程序设置模式按钮:在设计模式和非设计模式之间切换工程资源管理器按钮:用于打开工程资源管理器属性窗口按
3、钮:用于打开属性窗口对象浏览器按钮:用于打开对象浏览器,新建模块,在“工程”视图中,右键单击”ThisWorkbook”,然后在菜单中选“插入”-“模块”,就会在主界面出现一片空白(如图Module1)。即可在空白进行VBA编程。,V-2-1 常量、变量,常量:在程序运行中其存储的值不会改变。变量:在程序运行中其值可以改变。,VBA使用常量、变量来存储值。用来保存在程序运行期间数据。,V-2 VBA编程基础,常量 在程序运行过程中,其值不会被改变的量称为常量。在VBA中有三类常量:直接常量 如:10,20%,123.0,“AB”,“VBA程序设计”等 符号常量系统常量 指VBA系统预先定义好的
4、,用户可以直接引用的量。如:acForm,acQuery,vbOk,vbRed,变量是内存中的临时单元,存放在程序执行过程中产生的中间结果和最后输出结果。在程序中使用变量,就要给变量定义名称及类型,即对变量进行声明。,变量,变量命名规则变量名必须以字母或汉字开头,后可跟字母、汉字、数字或下划线组成(不能含有小数点和空格),长度不超过255个字符的字符串;不能使用VBA中的关键字;VBA中不区分变量名的大小写;变量名的最后一个字符可以是%、&、!、#、$等表示数据类型的声明符。,说明:常量名的命名规则与变量名的命名规则相同,V-2-2 数据类型与变量的声明,在VBA中,数据类型用来决定变量可以保
5、存何种数据。VBA支持多种数据类型,为用户编程提供了方便。,VBA的数据类型,变量声明用Dim|Static语句显式声明局部变量 格式:Dim 变量名 AS 类型 或 Dim 变量名类型符 语句中的“As 类型”子句是可选的。如果使用该子句,就可以定义变量的数据类型。未使用,默认变量的类型为变体型(Variant)。例如:Dim i As integer,s 表示声明了一个名为i的整型变量和一个名为s的变体型变量。,关键字Dim或Static的区别:Dim 声明:随过程的调用而分配存贮单元,每次调用都对变量初始化;过程体结束,变量的内容自动消失,存储单元释放。Static 声明:Static
6、声明的变量,也称为静态变量。静态变量在程序运行过程中一直保留其值,即每次调用过程,变量保持原来的值。,隐式声明变量 未进行上述的声明而直接使用变量,称变量的隐式声明。采用隐式声明的变量都是变体型(Variant)。注意:VBA中允许不事先声明而直接使用变量,可以通过语句 Option Explicit,来要求所使用的变量必须事先声明,否则VBA会发出警告信息。,下面是一个简单的程序,其使用的变量a,b,Sum都没有事先定义。Private Sub Form_Click()Sum=0 a=10 b=20 Sum=a+b Print Sum=;SumEnd Sub,良好的编程习惯应该是“先声明变量
7、,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VBA 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:Option Explicit,声明而未赋值的变量的值为:数值型变量初始化为0;字符型变量为零长度字符串;变体型变量初始化为 Empty。,变量的初始化,V-2-3 运算符和表达式,运算符算术运算符,例如:123+456 结果 123456 123&456 结果 123456 使用上 与+的区别:例如:abcdef&12345 结果为 abcdef12345 123&456 结果为 123456 abcdef+12345 结果为 出错 123+45
8、6 结果为 579,连接运算符:、+(字符串连接),将两个操作数进行大小比较,结果为逻辑值。注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。,关系运算符,将操作数进行逻辑运算,结果是逻辑值,逻辑运算符,组成 由变量、常量、函数等运算对象加上运算符、圆括号组成的式子。书写规则(1)运算符不能相邻。例a+-b是错误的。(2)乘号不能省略。例x 乘以y 应写成:x*y。(3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准上书写,无高低。运算优先级 算术运算符连接运算符关系运算符逻辑运算,表达式,例1:用人单位招聘秘书:年龄小于40岁的女性,学历专科
9、或本科,年龄40,性别=“女”,(学历=“专科”,学历=“本科”)And And Or,例2:算术表达式:正确的VBA表达式:3=x And x=7 错误的VBA表达式:3=x=7 或 3=x Or x=7,考虑:若分别写成:年龄40 And 性别=女 And(学历=专科 And 学历=本科)年龄40 Or 性别=女 Or(学历=专科 Or 学历=本科),函数实际上是系统事先定义好的内部程序,用来完成特定的功能。VBA提供了大量的内部函数,供用户在编程时使用。函数的调用形式为:函数名(参数表),V-2-4 常用函数,InputBox函数 InputBox(提示,标题,缺省)其中:提示:提示信息
10、;标题:对话框标题;缺省:输入区缺省值。注意:函数的返回值为字符型数据。,输入、输出函数,使用MsgBox,可以在对话框中显示文本信息。格式为:MsgBox(提示信息,按钮数目和类型,标题),MsgBox函数或方法(用于显示输出信息),MsgBox函数:变量%=MsgBox(提示,按钮,标题)MsgBox方法:MsgBox 提示,按钮,标题,V-3 VBA 常用语句,VBA代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写;语句书写自由 一行可书写几句语句,之间用冒号(:)分隔;一句语句可分若干行书写,用续行符将语句分开。,V-3-1 VBA语句书写规则,赋值语句:给变量、常量或对
11、象的属性指定 一个值或表达式。,V-3-2 VBA常用语句,格式:LET变量名表达式 作用:将表达式的值赋值给变量名。一般用于给变 量赋值或对控件设定属性值。例如:s=10 Text1.Text 欢迎使用VBA注意:虽然赋值号与关系运算符等于号都用“=”表示,VBA会根据所处的位置自动判断是何种意义的符号,声明语句:命名和定义常量、变量、数组以及过程。,注释语句 在程序中的适当位置加上注释语句有利于程序的维护和阅读。格式:Rem 注释内容 或用单引号 注释内容,结构化程序设计由顺序、分支、循环这3种基本结构所组成。,V-4 VBA程序流程控制,单行 If 语句格式:If 表达式 Then 语句
12、1 Else 语句2功能:If 测试指定的条件,如果条件表达式为真(True),则执行Then 后面的语句1,否则 执行语句2(若Else子句未省略)。,分支结构,Private Sub p1()Dim x As Integer,y As Integer x=InputBox(请输入x值)If x=0 Then y=2*x+1 MsgBox y:&yEnd Sub,Private Sub p1()Dim x As Integer,y As Integer x=InputBox(“请输入x值”)If x=0 Then y=2*x+1 Else y=1 MsgBox y:&yEnd Sub,根据输
13、入x的值,观察y的输出结果,多行 If 语句格式:If 表达式 Then 语句组1 Else 语句组2 End If,多行If语句的执行过程是:如果“表达式”的值为真,则执行语句组1;否则执行语句组2。当执行完语句组1或语句组2后,程序流程跳转到语句End If的后面。语句组可以由一条或多条语句组成,语句组不能与Then书写在同一行,否则VBA认为是一个单行If语句,会导致Else没有匹配的If。语句“End If”是多行If语句的结束标志。在多行If语句中,即使省略Else子句,也要写该结束标志。省略Else子句时的多行If语句形式为:If 表达式 Then 语句组 End If,例:计算分
14、段函数,单行If语句实现:If x=0 Then y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr(x*x+1),多行If语句实现:If x0 Then y=sin(x)+sqr(x*x+1)Else y=cos(x)x3+3*x End If,If语句的嵌套If语句的嵌套是指If或Else后面的语句块中又包含If语句。If Then If Then End If End If,例:已知x,y,z三个数,使得xyz 用一个IF语句和一个嵌套的IF语句实现,If xy Then t=x:x=y:y=t If yz Then t=y:y=z:z=t If xy Then
15、 t=x:x=y:y=t End If End If,If语句的嵌套注意事项:书写锯齿型;If 与End If配对,IfThenElseIf语句(多分支结构)If Then ElseIf Then Else 语句块 n+1 End If,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。ElseIf不能写成 Else If。,说明:,例:已知百分制成绩mark,显示对应的五级制成绩 下列三种方法哪些正确,哪些错误?,循环结构 For Next循环 Do Loop循环,ForNext循环结构:将一段程序重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA编程入门 VBA 编程 入门 PPT 课件
链接地址:https://www.31ppt.com/p-5577285.html