《ExcelVBA基础》PPT课件.ppt_第1页
《ExcelVBA基础》PPT课件.ppt_第2页
《ExcelVBA基础》PPT课件.ppt_第3页
《ExcelVBA基础》PPT课件.ppt_第4页
《ExcelVBA基础》PPT课件.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.什么是Excel VBA?,Visual,Basic,For Application,VBA是一种编程语言,是建立在Office中的一种应用程序开发工具。 它可以有效地自定义和扩展Excel的功能。例如:操作表格的任意属性(颜色、字体等)、迅速完成大量重复的操作。 启用宏的Excel文件,后缀名为xlsm。,-,数据处理神器!,宏是用VBA代码保存的程序,是录下的用户对Excel的操作。,但是,录制的宏执行起来却不方便。,因此,最好将宏指定给按钮来执行。,但是,录制的宏无法进行判断和循环,无法进行人机交互,因此需要掌握VBA编程的方法。,2.开始VBA编程,VBE(VBA编辑窗口)快捷键:Alt+F11,代码:录制宏或者自主编写 过程:执行某些动作的代码组合,Sub过程(不返回运行结果)、Function过程(返回运行结果) 模块:保存过程,一个模块可以保存多个不同类型的过程 对象:用代码进行操作的即是对象,如单元格、图片、工作表、透视表 Application.Workbooks(“1“).Worksheets(“Sheet1“).Range(“A1“) 属性:每个对象都有属性,如字体的颜色、单元格的宽度。对象和属性之间使用.连接。如:Range(“A1“).Value 方法:在对象上执行的动作,对象和方法之间也使用.连接。如:Range(“A1“).Select 事件:事件就是由用户或者系统触发的,可以在代码中响应的一段代码。如打开工作簿、激活工作表、改变单元格的值,声明变量:Dim 变量名 As数据类型 变量名必须以字母或汉字开头,不能包含空格、句号、感叹号、#、$、& 例如:Dim Str As String*10 10指定变量能存储字符的最大长度,变量类型声明符,例如:Dim Str$ 声明多个变量,可以写在同一个Dim后面,变量名之间用逗号隔开 如果不指定变量的数据类型,则默认为Variant型,但会占用更大的存储空间,故应尽量避免使用Variant型,强制声明变量:菜单栏工具选项勾选要求变量声明;这样VBA会在每个模块第一句自动写下“Option Explicit“,给变量赋值:变量名称 = 数据,例如:str = “VBA“ d = #2016-1-1# 如果给对象变量赋值(Object型,如单元格),Set 变量名称 = 对象,例如:Set rng = Worksheets(“Sheet1“).Range(“A1“) 常量:Const 常量名称 As 数据类型 = 数值,常量的作用域用法与变量一致,例如:Const p As String = 3.14 数组:同种类型多个变量的集合,数组中的元素按次序存储在数组中,通过索引号进行区分,数组也是变量;Dim/Public 数组名(a to b) As 数据类型,a和b分别是数组的起始和终止索引号。 声明数组时,也可以用一个自然数指定数组的大小,该自然数为数组的最大索引号,默认起始索引号为0 给数组赋值:要分别给数组中的每个元素赋值,数组名(1) = “XX“,多维数组:Dim/Public 数组名(a to b,c to d) As 数据类型 动态数组:若声明数组时不能预知数组大小,可以首次定义数组时括号内为空,Dim 数组名(),然后再程序中使用ReDim语句重新定义数组大小。 其它创建数组的方式:Array函数 Option Explicit Sub ArrayTest() Dim arr As Variant 将1到10十个自然数赋给数组arr arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) MsgBox “arr数组的第2个元素为:“ & arr(1) End Sub,Split函数 Option Explicit Sub SplitTest() Dim arr As Variant 利用split生成数组 arr = Split(“王,何,张,赵,冯,刘“, “,“) MsgBox “arr数组的第2个元素为:“ & arr(1) End Sub UBound和LBound函数:计算最大和最小索引号,UBound(数组名) Join函数:可以将一维数组元素使用指定分隔符连接成新的字符串,Join(数组名,“),VBA函数:VBA函数使用方法与Excel类似,可选中函数后按F1查看帮助,在代码窗口输入“ VBA. “会显示函数列表供你选择; Sub myabs() a = InputBox(“请输入数值:“, “提示“) labs = Abs(a) MsgBox “你输入的值的绝对值为:“ & labs End Sub 但不是所有的函数在VBA里都可以直接调用,此时只需要在函数名称前加上Application.WorksheetFunction语句即可。例如计算非空单元格个数application.worksheetfunction.counta(range(“a1:a10“),程序控制语句:分为判断、分支、循环三种 If语句:例如判断A1单元格的数是否能被2、3、5其中之一整除 Sub test() If a1 = “ Then MsgBox “A1单元格没有输入任何内容!“ ElseIf a1 Mod 2 = 0 Then MsgBox “A1单元格的数能被2整除!“ ElseIf a1 Mod 3 = 0 Then MsgBox “A1单元格的数能被3整除!“ ElseIf a1 Mod 5 = 0 Then MsgBox “A1单元格的数能被5整除!“ Else MsgBox “A1单元格的数不能被2、3、5其中之一整除!“ End If End Sub,Select Case语句:在设置条件时,应把最有可能发生的情况写在前面 Sub Test() If a1.Value = “ Then MsgBox “A1单元格没有输入数字“ Exit Sub 退出程序 End If Select Case a1.Value 测试表达式 Case Is 30 表达式列表,与测试表达式进行比较 MsgBox “差“ Case Is 60 MsgBox “不及格“ Case Is 80 MsgBox “及格“ Case Is 90 MsgBox “良好“ Case Else MsgBox “优秀“ End Select End Sub,For.Next语句: Sub 求1到10000之间奇数和() Dim I&, J& For I = 1 To 10000 Step 2 J = J + I Next MsgBox “1到10000之间奇数和为“ & J End Sub,For Each.Next语句: Sub shtname() Dim i As Integer, sht As Worksheet i = 1 For Each sht In Worksheets Cells(i, 1) = i = i + 1 Next End Sub,Do While语句:有开头判断和结尾判断两种,Do Until语句:有开头判断和结尾判断两种,GoTo语句:通常用来作错误处理,但增加阅读调试难度,尽量避免使用 Sub mysum() Dim Lsum As Long, i As Long i = 1 x: 设置标签,使用带冒号的字符串或者不带冒号的数字 Lsum = Lsum + i i = i + 1 If i = 1000 Then GoTo x MsgBox “1到1000的自然数和为:“ & Lsum End Sub,With语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论