VBA编程及应用基础VBA编程及应用基础ppt课件(完整版).pptx





《VBA编程及应用基础VBA编程及应用基础ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《VBA编程及应用基础VBA编程及应用基础ppt课件(完整版).pptx(176页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VBA概述本讲内容VBA的开发环境VBE宏的基本概念录制、编辑、运行宏保存带宏的工作簿什么是VBA?VBA(Visual Basic for Applications)是Microsoft Office 系列组件的内置编程语言,即应用程序中的VB。它“寄生”于Office应用程序,是 Office 套装软件的一个重要组件使用 VBA 可以结合 Office 组件开发应用程序,如在 Excel 中自定义函数、开发应用程序等例:认识VBAEXCEL中使用VBA功能VBA使重复的任务自动化自定义Excel功能区和界面自定义Excel,使其成为开发平台创建报表对数据进行复杂的操作和分析VBA开发环境V
2、BEOffice提供了VBA的开发环境,即 Visual Basic 编辑器(VBE)窗口在使用VBE前,必须先运行Office软件,如 Excel 2010在Excel环境中打开VBE窗口的方法:1.单 击“开开 发发 工工 具具”选 项 卡 中“代 码”组 中 的“Visual Basic”按钮2.按 Alt+F11 组合键进入VBE“开发工具”选项卡默认情况下,“开发工具”选项卡没有显示在功能区,可通过“自定义功能区”设置将其显示工程资源管理器窗口代码窗口属性窗口立即窗口本地窗口VBA工程工作表对象工作簿对象窗体模块工程:模块、窗体等对象的集合,在VBA中一个工作簿就是一个工程对象(P.
3、11):代表应用程序中的元素,比如,工作表、单元格、图表、窗体,或是一份报告属性(P.13):属性定义了对象特性,像大小、颜色、对象状态等方法(P.13):对象可以执行的动作模块:声明及过程的集合过程:可单独执行的程序单元事件:是指发生在一个对象上并能被此对象辨别的操作,如打开工作簿了解几个概念添加模块菜单栏“插入”|“模块”命令添加过程在模块中添加过程,最常见的结构如下:可以通过“插入”|“过程”对话框Sub 过程名()程序代码End Sub第一个VBA程序添加一个模块,再添加一个子过程,如下:运行该过程查看结果Sub Test1()Range(A1).Value=Hello,World!E
4、nd Sub如何引用单元格中的值两种方法:1.Cells(行号,列号).Value如:Cells(5,3).Value,表示引用的是C5单元格2.Range(单元格地址).Value如:Range(“C5”).Value,表示引用的也是C5单元格录制宏很好用哦录制宏很好用哦录制宏很好用哦录制宏很好用哦什么是宏?(P.1)具体学习VBA之前,先来了解一下“宏”宏是通过一次单击就可以应用的命令集,一般用于自动执行一系列重复性操作,以提高工作效率本质上宏是保存在 Visual Basic 模块中的一组代码例:将认识宏工作簿Sheet1工作表中的A1单元格设置成绿色底纹的格式创建宏(P.1)使用宏录入
5、器录制宏,步骤如下:在“开发工具”选项卡上的“代码”组中,单击“录制宏”在弹出的“录制新宏”对话框中进行设置后再单击“确定”开始录制。在工作表中执行某些操作。在“开发工具”选项卡上的“代码”组中,单击“停止录制”。实践:录制一个修改单元格底纹的宏保存带宏的工作簿保存带宏的工作簿时会弹出如下信息框需要将工作簿保存为“启用宏的工作簿启用宏的工作簿(.xlsm)”单击“否”按钮,弹出“另存为”对话框在“保存类型”下拉列表框中选择“Excel启用宏的工作簿(.xlsm)”进行保存执行宏方法1(P.2)使用“宏”对话框选择“开发工具”选项卡,在“代码”组中单击“宏”按钮,弹出“宏”对话框单击“执行”按钮
6、执行宏方法2为宏指定快捷键 录制宏时可以指定 在“宏”对话框中选中要设置的宏,单击“选项”按钮执行宏方法3将宏命令添加至功能区或快速工具栏运行宏方法4将宏指定到工作表上的按钮(或其它图形对象)插入表单按钮控件为表单按钮控件指定宏实践自己录制一个设置单元格边框的宏,并用以上四种方法运行录制的宏思考:宏的本质是什么?查看宏代码选择“开发工具”选项卡,在“代码”组中单击“宏”按钮,弹出“宏”对话框单击“编辑”按钮查看宏代码VBA过程代码“设置底纹”是宏的名称查看宏代码Sub 设置底纹()设置底纹 宏 With Selection.Interior .Pattern=xlSolid .PatternC
7、olorIndex=xlAutomatic .Color=5287936 .TintAndShade=0 .PatternTintAndShade=0 End WithEnd Sub说明一个宏就是一个 sub 过程单引号后为注释内容,不是代码部分With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称Selection.Interior表示“选定区域的内部”对象Pattern等为interior对象的属性使用帮助:选择某个关键字,按F1可弹出帮助系统!实践自动排序(P.17 操作题(3)自动累计自动完成高级筛选(P.17 操作题(4)高级筛选VBA编程基础编程基础本讲内容变量数据
8、类型运算符与表达式常用内部函数变量一个问题:如何交换两个杯子中的可乐?变量如何交换A1和B1两个单元格的值?Sub Test()x=Range(A1).Value Range(A1).Value=Range(B1).Value Range(B1).Value=xEnd Sub变量变量是指在程序运行过程中其值可以改变的量说明(P.22):1.变量用于存储程序运行中的临时数据2.变量有一定类型,占用一定空间3.变量命名规则:字母打头,最长255个字符。等如:Sum、x_1等数据类型数据是指可以被计算机处理的信息,是程序的必要组成部分,也是程序处理的对象数据分类的目的是为了快速处理数据和有效利用存储
9、空间不同的数据类型占用的存储空间不同、或者存储格式不一样,VBA中常用的数据类型:数值型、字符型、逻辑型、对象型数据类型数值型字节型 Byte:1字节整型 Integer:2字节长整型 Long:4字节单精度浮点数 Single:4字节双精度浮点数 Double:8字节货币型 Currency:8字节数据类型字符型定长 String*N (N1,65535)不定长 String数据类型逻辑型Boolean:2字节对象型任何对象 Object工作簿 Workbook工作表 Worksheet区域 Range变量声明变量声明的目的是说明变量的作用域和变量的类型,以便为变量分配内存空间和及时回收内存
10、空间建议变量先声明再使用,在通用声明中写Option Explicit语句变量声明变量类型的显式说明:Dim语句,语法:Dim 变量名 As 数据类型,变量名As 数据类型 举例:Dim a As SingleDim intCount As Integer,strPhone As String*8如何将 i 和 j 声明为整型变量?Dim i,j As IntegerDim i As Integer,j As Integer 实践编写一个宏,以A1单元格中的数值作为半径,求出圆的周长与面积,并将它们分别写入B1单元格和B2单元格常量除了变量,数据还可以分为常量。常量是指在程序执行之前就已经确定
11、了值,并且在程序执行过程中,其值不会发生改变的量VBA中有三种形式的常量:1.直接常量2.符号常量3.系统常量常量直接常量也叫一般常量,用户直接书写的值,如:18、1.25、”China”、True、False符号常量用符号表示的常量,定义格式如下:Const 常量名 As 数据类型=常量表达式如:Const PI=3.1415926使用符号常量可以减少程序出错的可能性,加快程序的修改和提高程序的可读性常量系统常量VBA提供的系统内部已经定义好的常量,可以直接使用,分为VBA系统常量和Excel系统常量VBA系统常量以小写字母“vb”开头,例如色彩常量“vbBlack”表示黑色。Excel系统
12、常量通常以小写字母“xl”开头系统常数采用大小写混合的格式,用户可以通过在VBE中单击“视图”菜单下的“对象浏览器”命令,在打开的“对象浏览器”中查看系统常量的具体值运算符与表达式运算符是对特定数据执行运算任务的操作符将常量、变量和函数等用运算符连接起来的运算式称为表达式常见的4种基本运算符:1.算术运算符算术运算符2.连接运算符连接运算符3.比较运算符比较运算符4.逻辑运算符逻辑运算符算术运算符运算符运算符+-*/Mod名称加法减法/取负乘法浮点除法整数除法取模指数说明:/:浮点除法,如10/3的结果为3.3333333 :整数除法,若操作数不是整数,则通过舍去小数 部分再进行整除,如103
13、的结果为3,11.64的结 果为3ModMod:取模运算,返回两个数(若是浮点数则四舍五入 为整数)相除的余数,如12 Mod 5的结果为2,19 Mod 6.7 的结果为5:指数运算,进行乘幂运算,如32的结果为9算术表达式算术表达式与数学表达式的区别不能漏写运算符,如3xy应写为3*x*y算术表达式中使用的括号都是圆括号,如(a-b)2+(a+b)2)*c算术运算符的优先级:()、*/、MOD、+-练习:表达式 2 3/3 Mod 9 4的值为?答案:答案:1连接运算符连接运算符用来连接两个以上的字符串,使其成为一个单一的字符串。VBA中有两个:&运算符。任何非字符串变量或表达式在进行&连
14、接前都会被转换为字符串,如+运算符。操作数都是字符串时才可以进行连接运算,如Visual&Basic 的结果为 Visual BasicExcel&2010 的结果为 Excel 20104&5的结果为字符串 45 Visual +Basic 的结果为Visual BasicExcel +2010 运行结果出错,提示“类型不匹配”4+5的结果为整数9关系运算符关系运算符用于比较数据的大小关系,主要有:=、=、dog?101 99?逻辑运算符常用的逻辑运算符有:And 逻辑与Or 逻辑或Not 逻辑非优先级:Not AndOr实践编写一个宏,针对A1单元格中输入的某个个年份数据进行判断,并以“闰
15、年”或“平年”为结论写入到B1单元格中闰年的判断条件:能被4整除但不能被100整除,或者能被400整除With 语句编写一个宏,设置A1单元格的文字属性为宋体、14磅、粗体、字体颜色为红色?对象重复书写With语句作用:简化代码,不需要输入重复的内容格式:实践:改写过程“字体格式”?With 对象 .属性1=属性值1 .属性2=属性值2 .属性n=属性值n End With常用的VBA函数Int(x)函数返回不大于x的整数如:Int(5.8)的结果为5,Int(-5.8)的结果为-6Rnd()函数返回一个0,1)之间的随机浮点数若要返回一个m,n之间的随机整数,则可以使用公式:Int(Rnd(
16、)*(n-m+1)+m在调用 Rnd 函数之前,应先使用无参数的 Randomize 语句语句初始化随机数生成器实践编写一个宏,先在A1单元格中生成一个10,99之间的随机整数,然后识别该整数是奇数还是偶数,并将识别结果写入到B1单元格常用的VBA函数Val(s)函数返回s中第一个非数字字符之前的数字(忽略空格)例如:Val(“1615 198th Street N.E.”)的返回值为1615198可以把 Val(s)当作是一个将数字文本转换成数字数值的函数常用的VBA函数InputBox 函数作用:产生输入对话框,向计算机提供信息,输入数据格式:变量=InputBox(提示信息,对话框标题,
17、默认值)返回值:输入框中输入的内容,字符型常用的VBA函数MsgBox 函数作用:产生消息框,向用户输出提示信息格式:变量=MsgBox(提示信息,类型,对话框标题)对话框类型一般由“图表样式”+“按钮样式”+“默认按钮”组成返回值:整型,对应用户单击的按钮实践编写一个宏,使用输入框从键盘输入三个整数,然后找出三个数中的最大数,并用消息框输出VBA 程序控制结构程序控制结构判断结构本讲内容If 语句Select Case 语句程序控制结构程序一般是按照书写的顺序执行的,但有时候需要按照不同的条件执行不同的操作,这就是流程控制VBA中程序的控制结构分为:顺序结构选择结构循环结构顺序结构AB选择结
18、构PAB循环结构PA判断语句判断语句用来根据条件表达式的结果控制程序的流程If 语句Select Case 语句If 语句行结构If Then Else 块结构If Then Else End IfIf 语句流程图:语句1语句2表达式TrueFalseIf 语句实例:设计一个找出两个数中更大数的程序,界面设计如下图所示。在 B1 和 B2 单元格分别输入任意一个数,单击“更大数”圆角矩形时,在 B3 单元格输出两数中更大的数If 语句实践1:设计一个找出三个数中最大数的程序,界面设计如下图所示。在 B1、B2 和 B3 单元格分别输入任意一个数,单击“最大数”圆角矩形时,在 B4 单元格输出三
19、个数中更大的数If 语句实践2:编写一个过程,用输入框 InputBox 函数输一个学生的成绩,然后判断此学生的成绩是否合格,并将评判结果以“成绩合格”或“成绩不合格”用消息框显示If 语句实例:设计一个“健康秤”程序,界面设计如下图所示。单击“健康状况”按钮,根据公式:标准体重=身高-105 判断某人的健康状况。体重高于标准体重*1.1为偏胖,在 B3 单元格输出“偏胖,注意节食”;体重低于标准体重*0.9为偏瘦,在 B3 单元格输出“偏瘦,增加营养”;其它则在 B3 单元格输出“正常,继续保持”If ThenElseIf ThenElseEnd IfEnd If嵌套的If语句If 语句实践
20、3:编写一个过程,用InputBox函数输入某门课程的百分制成绩x,然后将其按下表的评定条件转换成等级制成绩y,并将等级制成绩用MsgBox函数输出优良中及格不及格90 x10080 x9070 x8060 x70 x60If 语句If ThenElseIf Then ElseIf Then Else End IfIf 语句ElseIf 语句的流程图:语句2 假 真语句1表达式2表达式3语句3语句4 真假 假 真表达式1If 语句If 语句实践4:根据杭州的气候特点,通常认定3月5月为春季,6月8月为夏季,9月11月为秋季,12月次年2月为冬季。编写一个程序,在B1单元格输入当前的月份,单击“
21、判定”按钮时,在B2单元格以“*月是*季”的形式输出结果Select Case语句Select Case Case Case Case ElseEnd Select:算术表达式或字符表达式,测试对象:下列格式中的一个或多个(,)精确表示:,,如:1,3,5,7,9范围表示:To,如:A To Z关系表示:Is ,如:Is =60功能:根据测试表达式的值,从多个语句块中选择符合条件的一个语句块执行!Select Case 语句Select Case 语句实践:使用 Select Case 语句重新实现“实践3”程序?Select Case 语句实践:某商场举行周年庆购物促销活动,活动规则如下:金
22、额500元以下不享受优惠金额500元及以上且小于2000元优惠10%金额2000元及以上且小于4000元优惠12%金额4000元及以上且小于6000元优惠14%金额6000元及以上优惠15%编写一个过程,输入购物总价,计算应付款和优惠款额一个问题在员工信息表中,根据身份证号填充各员工的性别?使用过程(P.75)本讲内容过程的概念Sub子过程Function函数过程过程的概念(P.75)过程是一段完成特定功能的语句集合,以一个名字来标识,并用该名字来调用根据是否有返回值,可以将过程分成两类:SubSub子过程子过程FunctionFunction函数函数过程过程Sub子过程(P.76)Sub子过
23、程用于运行指定的操作,但不返回运行结果,其结构如下:Sub子过程过程的组成部分及其含义Public可选的。表示所有模块的所有其它过程都可访问这个Sub过程。Private可选的。表示只有在包含其声明的模块中的其它过程可以访问该Sub过程。Static可选的。表示在调用之后保留Sub过程中各局部变量的值。name必需的必需的。Sub过程的名字,须遵循标准的变量命名约定。arglist可选的。代表在调用时要传递给Sub过程的参数列表。多个参数则用逗号逗号隔开。Sub子过程特别说明:如果没有使用如果没有使用PublicPublic、PrivatePrivate显式指定,则缺显式指定,则缺省表示省表示
24、SubSub过程是公用的(过程是公用的(PublicPublic)arglistarglist中的具体参数的格式通常为:中的具体参数的格式通常为:varnamevarname()As type()As type不能在别的过程中定义不能在别的过程中定义SubSub过程过程Exit SubExit Sub语句使执行立即从语句使执行立即从SubSub过程中退出,过程中退出,它可以出现在过程中的任何位置它可以出现在过程中的任何位置Sub子过程添加Sub子过程Sub子过程实例1:编写一个名称为Example的Sub过程,该过程用于在当前活动工作表A1:A10区域的各单元格内填上“VBA”文本,且字号大小
25、依次从10等差渐变到28Sub子过程练一练:编写一个名称为Practice的Sub过程,该过程用于在当前活动工作表A1:J1区域的各单元格内填上“SUB”文本,且随机设置各单元格为不同的背景填充色Sub子过程带参数的Sub子过程:Sub子过程调用Sub子过程过程名过程名 参数列表参数列表如:如:HouseCalc 99800,43100HouseCalc 99800,43100Call Call 过程名过程名(参数列表参数列表)如:如:Call HouseCalc(380950,49500)Call HouseCalc(380950,49500)Sub子过程Sub子过程实例2:编写一个名为Ex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 编程 应用 基础 ppt 课件 完整版

限制150内