资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
正确学会Excel VBA 的16堂课VBA程序的编写和运行认识VBA开发环境 认识VBA代码与过程 变量的使用 函数的使用认识VBA开发环境 VBA启动方式与操作界面 工程窗口 代码窗口与用户窗体代码窗口与用户窗体工程中的每一个对象都有一个相关联的代码窗口,主要作用是编辑和存放程 序。每个对象的代码窗口都由【对象】下拉列表、【过程/事件】下拉列表、【过 程视图】图标和过程编辑区等部分组成,如图2-5所示。认识VBA代码与过程 完成任务的过程程序 执行指定任务的事件程序 对象、属性和方法 认识不同的运算符 VBA中的常用语句对象、属性和方法1. 对象在Excel中处理数据时需要面对的是工作簿、工作表、单元格和图表等内容, 实际上这些就是Excel VBA中的对象。如果要查看Excel VBA中的对象,可以在 VBA代码编辑器中选择【视图】【对象浏览器】菜单项或按F2快捷键,即可打 开【对象游览器】窗口进行查看,如图2-29所示。对象、属性和方法2属性属性是指对象的特征。如果把手机看做一个对象,那么手机的颜色、款式和 型号等都是该对象的属性。对Excel VBA来说,属性是Excel对象所具有的特征, 如单元格的值、列的宽度、行的高度以及工作表的个数等。 (1)在程序中设置对象属性的代码结构(对象和属性之间用“.”分隔以表示从属 关系) 对象名.属性=属性值 如代码“Application.ScreenUpdating = False”是将Excel的程序对象( Application)的屏幕刷新(ScreenUpdating),属性设置为否(False)。 (2)在程序中取得对象的属性的代码结构 变量=对象.属性 例如代码“h = Range (“B3:D10“).Cells.Count”是求出单元格区域“B3:D10”中 单元格的个数,并将该数值赋给变量h,其中Cells和Count都是Range对象的 属性。对象、属性和方法3方法方法是作用在对象上的操作。比如开门或关门。对Excel VBA的对象来说, 复制单元格内容、删除工作表或打开要查看的工作表等,这里的“复制”是单元格 对象方法,“删除”是针对工作表对象的方法,“打开”是针对工作簿对象的方法。 对象方法的语法格式为:对象.方法 (自变量) 例如语句:Range (“B3:B10“).ClearFormats,该语句是清除单元格区域“B3: B10”的格式,其中ClearFormats是作用于单元格Range对象的方法。 Sheets(“Sheet1“).Move after:=Sheets(“Sheet2“),该语句功能是将工作表 Sheet1移动到工作表Sheet2之后,其中Move是作用于工作表对象上的方法, 自变量after补充移动的位置。 【注意】对象和方法之间用“.”隔开,方法和自变量之间要用空格隔开。自变量是对方 法作用于对象时的补充,如工作表移动是一个操作工作表的方法,但移动的具体 位置可通过设置后面的自变量来补充。变量的使用 变量的数据类型 强制声明变量 变量的声明方法变量的数据类型变量的数据类型用于控制用户声明的变量能够存储哪些类型的数据,声明变 量就是声明变量的数据类型。在学习变量前必须了解并掌握变量的数据类型,因 为每种类型都有一定的适用范围和区域,如果在程序中声明不当,程序的运行或 运行结果就会出现错误或达不到要求。不同的数据类型有不同的存储空间,对应 数值的范围也不同。 字节型(Byte)。该类型在内存中占1个字节,为0255之间的无符号整数。通 常用来存储二进制文件、图形文件及声音文件等,字节类型无类型说明符。 字符串型(String)。字符串是指由若干字符组成的一个字符序列,这些字符可 以是ASCII码范围中的任意一个有效字符,该类型在内存中占1个字节,类型说明 符为“$”。 整型(Integer)。该类型在内存中占2个字节,为-3276732767之间的整数。 整型数值通常用十进制表示,也可以用八进制或者十六进制表示无符号整数。通 常,在-3276732767之间的整数尾部加一个“%”作为整数的类型说明符,如 258%,-369%。 长整型(Long)。该类型在内存中占4个字节,为-21474836482147483648 之间的数。其类型说明符为“&”。对于超过-3276732767范围,而在- 21474836482147483648之间的整数,无论是否带有“&”,VBA均将其作为长 整型处理。变量的数据类型单精度浮点型(Single)。该类型在内存中占4个字节,取值范围为1.40*10(- 45)到3.40*1038之间的实数,其有效数为7位。类型说明符为“!”。 双精度浮点型(Double)。该类型在内存中占8个字节,取值范围为4.97*10(- 324)到1.79*1038之间的实数,其有效位数为15位。类型说明符为“#”。 货币型(Currency)。货币类型是计算货币而设置的数据类型,通常情况下它 是小数位数固定为4位的定点数。它在内存中占8个字节,为-922337203685477 922337203685477之间的数。类型说明符为“”。 日期型(Date)。日期类型用来表示日期。该类型在内存中占8个字节,取值范 围为1/1/100012/31/9999之间的日期,无类型说明符。 布尔型(Boolean)。该类型在内存中占2个字节,只有True和False两个取值, 无类型说明符。 变体类型(Variant)。变体类型也称通用类型,它是一种通用的、可变的数据 类型。可以表示上述任何一种数据类型。函数的使用 使用VBA函数 调用工作表函数 自定义函数使用VBA函数VBA函数是Excel VBA所提供的函数,这些函数可以在程序中直接使用,并返 回需要的值。例如使用Round函数对D5单元格中的数值“258.2536”进行四舍 五入计算后将结果显示在E5单元格中,具体的代码如下: Sub 四舍五入() Range(“E5“).Value = Round(Range(“D5“), 2) End Sub 运行这段代码,即可将D5单元格中的数值进行四舍五入计算,并将结果显示 在E5单元格中,如图2-66所示。使用VBA函数在Excel VBA中查找可以使用的VBA函数方法是,在代码窗口中输入“vba”, 再输入“.”,即可在弹出的列表框中显示出VBA中所有函数,如图2-67所示。调用工作表函数在Excel VBA中也可以使用部分工作表函数,调用方法为: Application.WorksheetFunction.工作表函数。例如使用CountA调用函数统计 工作表中A列到G列的非空单元格个数。在代码窗口中输入如下代码: Sub 非空单元格个数() MsgBox Application.WorksheetFunction.CountA(Range(“A:G“) End Sub 运行上述代码,即可弹出一个提示信息,显示统计出的工作表中A列到G列的 非空单元格个数,如图2-68所示。自定义函数在Excel VBA中,通过编写函数过程程序可以自定义一些函数,且这些函数可 直接被其他过程或程序调用。如在VBA代码窗口中插入一个新模块并输入如 下代码,如图2-69所示。 Function sheetcount() sheetcount = ThisWorkbook.Sheets.Count End Function 在工作表中调用定义的“Sheetcount”函数,即在工作表任意单元格中输入 “=Sheet count()”,如图2-70所示。自定义函数在输入完毕后,单击编辑栏上的【输入】按钮 ,即可得到显示如果,如图2- 71所示。也可以在其他程序中调用自定义的函数。在模块窗口中输入“更改工 作表名称”过程。 输入完毕后将光标置于该过程中,如图2-72所示。单击【运行子过程/用户窗 体】按钮 ,此时返回Excel工作表中,即可看到工作表的名称已经被更改,如 图2-73所示。专家课堂(常见问题与解答)点拨1:在VBA代码中使用对象和方法时,运行下面这段代码时,为什么总显 示“语法错误”的提示? Sub dk() Sheets(“Sheet1“).Moveafter:=Sheets(“Sheet2“) End Sub 解答:出现这种情况是因为用户在编写代码时,方法和自变量之间没有使用 空格隔开,因为在VBA代码中,对象和方法之间要用“.”隔开,方法和自变量 之间要用空格隔开。 点拨2:使用CountA调用函数统计工作表中单元格中区域“A:G”列中非空单 元格的个数时,为什么结果总显示1。 解答:出现这种情况时,请检查调用函数格式是否正确,特别要检查的是函 数参数是否正确使用了VBA语言的表示方式,切记不能将 CountA(Range(“A:H“)表示成CountA(“A:H“),一但表示错误,将影响整个程 序的结果。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号