《VBA课程教学大纲》由会员分享,可在线阅读,更多相关《VBA课程教学大纲(23页珍藏版)》请在金锄头文库上搜索。
1、技术部分技术部分VBAlVBAVisusl Basic for Applicationl未来方向未来方向Visual Studio to OfficeEXCEL中的VBA与VB的区别l1 vb是一种应用程序,和c语言相当; VBA是寄生在EXCEl中的一种语言,其语法和vb是一样的;l2 vb有自己的开发环境,VBA必须在EXCEl中开发。VBA的特点l1 对于重复的工作定义程序,利用按钮来方便操作;l2 根据业务的需要,进行操作界面的定制,使EXCEL环境成为一个业务系统;l3 创建报表系统,减少在实际报表设计中的操作。VBA的使用lVBA的启动与关闭;lVBA的程序编译环境VBE。演示小结
2、l 通过对于“宏”程序的演示以及录制,我们可以发现掌握宏编程(VBA程序)可以控制重复操作,减少很多电子表格操作带来的错误,实现电子表格的自动化处理(办公自动化)。VBA的变量以及变量的声明l数值型变量: 整型(Integer),长整型(Long),逻辑性(Boolean),日期型(Date)等等。l文本型变量: 字符型(String)例子:Dim i as Integer, j as IntegerVBA还定义了一种常用的变量类型:VariantDim i (默认的时候就是Variant) VBA的数组变量l默认时,VBA都是从0开始对数组编号:Dim vec(4) 包含4个元素;Dim v
3、c(2,5) 是一个二维数组,包含10个元素;l如果想从1开始编号,需要添加语句: “Option Base 1”VBA中的常量和变量l常量:内置常量和用户自定义常量。常量:内置常量和用户自定义常量。lExcel内置常量通常以vb开头,如vb_a等;lExcel自定义常量是用户自己设置得到的。l变量:分为显式变量和隐式变量。变量:分为显式变量和隐式变量。l显式变量:程序可读性好,占用内存少;l隐式变量:可读性差,占用内存多。变量的定义方式lDim 动态定义lStatic 静态定义lPublic 公用的全局的,即让所有模块中的所有过程都可以使用。lPrivate 私有的局部的,即只能在当前模块中
4、使用。lSub定义的范围就更加狭窄,只在该Sub过程中使用。VBA的函数与过程l过程是组成程序的基础,每一个过程完成一个特定的任务,所有的过程组合在一起成为程序。l过程主要分类:Sub过程,Function过程,Property过程。l函数也是过程,函数能够返回值,也可以接受参数。VBA程序的控制结构和其他程序编译环境相似,VBA具有以下控制流程的结构:1)Ifthenend if2)For.next3)For each next4)While.loop 程序运算符l数学运算符+ ,-,*,/,22,5mod2;l连接运算符 &;l逻辑运算符 and,or等等;l优先级别:数学运算符连接运算符
5、逻辑运算符VBA中的概念和术语lExcel中的VBA中的应用程序总是由多个对象构成。l所谓对象:就是构成应用程序的元素,每个对象模型都包含两种对象集合对象和独立对象。l例如:workbooks为一个集合对象;l workbook为一个独立对象。VBA 中的对象l在在VBA程序环境中:程序环境中:l1)Application表示表示Excel,最宽泛的对象;,最宽泛的对象;l2)Workbooks表示当前所有打开的表示当前所有打开的Excel文档;文档;l3)Worksheets表示一个表示一个Excel文件中表单对象;文件中表单对象;l4)Range表示一个小表中的一个区域;表示一个小表中的一
6、个区域;l5) Cells(2,2)表示第二行第二列的单元格。)表示第二行第二列的单元格。l一个例子:Application.Workbooks(“Model”).Worksheets(“inputs”).Cells(“data”)VBA中的各种对象的“属性”和“方法”l公式:对象.方法 对象.属性1.给对象起名:Cells(“B23”).Name=“month”2. Range(“B23”).Select3. Range(“B23”).Copy4.WorkBooks(“Model”).Activate5.WorkSheets(“inputs”).Delete6. WorkBooks.Add最
7、宽泛的Application对象lOffice所有组件都可以引用“Application对象”, Application包含众多的属性和方法。lApplication包含的属性包含的属性lApplication.UsernamelApplication.WorksheetFunctionlApplication包含的方法包含的方法lApplication.FindFilelApplication.OnTimelApplication.WaitlApplication.GetOpenFileNameWorkBook对象l包含三种子对象:lWorkBooks:当前所有打开的Excel文档;lAct
8、iveWorkBook:当前被激活的Excel文档;lThisWorkBook:程序所在的Excel文档。WorkSheet对象l其独有的九种WorkSheet事件,在编程中经常使用,具体如下:lActivate事件:工作表被激活时lBeforeDoubleClick:双击工作表时lBeforeRightClick:右键点击工作表时lCalculate:当工作表内容被重新计算时lChange:当用户更改单元格值时lSelectionChange:即选择改变时l一个程序:lSub link() Range(“B3”).Value=4000 Range(“B4”).Formula=“=b3”End
9、 subl稍难一点的例子:lSub Factorial() fac=1num= Range(“B5”).Value For i=1 to numfac=fac*inext iRange(“C5”).Value=fac End SubVBA程序如何与表格通讯l通过上面两个小程序,我们发现VBA主要通过这样的途径与表格通讯:Range(“B5”).Value=3888(引用位置,然后赋值)lVBA还提供了另外两种常用的与表格通信的方法:1)MsgBox2)InputBox()关于MsgBoxlSub MsgBoxdd( ) MsgBox “Click Ok to Continue”End sub关于InputBox()lInputBox()带了一对括号,可见它是一个函数,存在一个返回值,参见下面的例子:lSub Factorial() fac=1num= InputBox(“Enter a number”)For i=1 to numfac=fac*inext iMsgBox” Factorial is”&facEnd Sub