




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录(ml)序 -3VBA编程环境(hunjng)-7VBA编程基础-12VBA常用语句-32VBA流程控制-35VBA数组-57VBA过程-69VBA操作数据库-76第1页/共85页第一页,共86页。VBA是什么?1VBA有什么作用?2怎么样才能学好VBA?3序言(xyn)第2页/共85页第二页,共86页。VBA是什么是什么(shn me)?简单的说VBA是一种编程语言,它可以支持在Office系列软件中命令和功能的编写(binxi)。Excel VBA则是以Microsoft Excel为开发对象的VBA语言。如运行下面的VBA代码就可以在单元格A1中输入100。Sub T1() Rang
2、e(a1) = 100End Sub第3页/共85页第三页,共86页。VBA有什么有什么(shn me)作用作用完成重复性的劳动 如果你需要经常重复的做某个工作,那么可以编写一个VBA代码来帮你快速完成。克服excel自身功能的局限性 excel提供的功能有效,提供的函数也有效。而我们利用VBA则可以自定义功能、自定义函数。编制自已的应用软件 即使你不是专业的编程人员,你也可以利用VBA+Excel编写出你想要的应用软件第4页/共85页第四页,共86页。怎么怎么(zn me)才能学好才能学好VBA6、独立编写VBA小软件1、身边备有几本VBA参考书5、多帮助别人,多总结4、多练习、多思考、多提
3、问2、常用录制宏功能3、多查看帮助文件Text第5页/共85页第五页,共86页。第6页/共85页第六页,共86页。第7页/共85页第七页,共86页。工程窗口选择对象选择事件属性窗口选择对象的属性代码窗口 然后在“开发工具”选项卡的“代码”区域(qy)里按”Visual Basic”按键,就可以打开同样的界面第8页/共85页第八页,共86页。视图Microsoft Excel按钮:切换Excel 2007窗口插入按钮:插入模块或过程运行子过程/用户窗体按钮:运行模块中的程序中断按钮:中断正在运行的程序重新设置按钮:结束正在运行的程序设置模式按钮:在设计模式和非设计模式之间切换工程资源管理器按钮:
4、用于打开(d ki)工程资源管理器属性窗口按钮:用于打开(d ki)属性窗口对象浏览器按钮:用于打开(d ki)对象浏览器Microsoft Excel插入模块运行子过程/用户窗体设计模式中断重新设计 工程资源管理器对象浏览器属性窗口第9页/共85页第九页,共86页。第10页/共85页第十页,共86页。第11页/共85页第十一页,共86页。,第12页/共85页第十二页,共86页。第13页/共85页第十三页,共86页。 变量命名规则变量名必须以字母或汉字开头,后可跟字母、汉字、数字或下划线组成(不能含有小数点和空格),长度不超过255个字符(z f)的字符(z f)串;不能使用VBA中的关键字;
5、VBA中不区分变量名的大小写;变量名的最后一个字符(z f)可以是%、&、!、#、$等表示数据类型的声明符。第14页/共85页第十四页,共86页。第15页/共85页第十五页,共86页。 第16页/共85页第十六页,共86页。认变量的类型为变体型(VariantVariant)。例如:Dim i As integer, sDim i As integer, s表示声明了一个名为i i的整型变量和一个名为s s的变体型变量。第17页/共85页第十七页,共86页。关键字Dim或Static的区别:第18页/共85页第十八页,共86页。第19页/共85页第十九页,共86页。第20页/共85页第二十页,
6、共86页。第21页/共85页第二十一页,共86页。第22页/共85页第二十二页,共86页。第23页/共85页第二十三页,共86页。 将两个操作数进行大小比较,结果为逻辑值。 注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现(chxin)不同的字符为止。 第24页/共85页第二十四页,共86页。第25页/共85页第二十五页,共86页。v算术运算符 连接运算符 关系运算符 逻辑运算第26页/共85页第二十六页,共86页。73 x第27页/共85页第二十七页,共86页。第28页/共85页第二十八页,共86页。第29页/共85页第二十九页,共86页。第30页/共85页第三十页,共8
7、6页。第31页/共85页第三十一页,共86页。 格式:LET变量名表达式 作用:将表达式的值赋值给变量名。 一般用于给变 量赋值或对控件设定属性值。 例如(lr):s=10 Text1.Text 欢迎使用VBA注意:虽然赋值号与关系运算符等于号都用“=”表示,VBA会根据所处的位置自动判断是何种意义的符号第32页/共85页第三十二页,共86页。第33页/共85页第三十三页,共86页。语句组2语句组1TF语句组2条件语句组1 V-4 VBA V-4 VBA程序流程控制程序流程控制(kngzh)(kngzh)FT条件语句组TF条件语句组第34页/共85页第三十四页,共86页。TF语句2条件语句1T
8、F条件语句1第35页/共85页第三十五页,共86页。Private Sub p1( ) Dim x As Integer, y As Integer x = InputBox(“请输入(shr)x值”) If x = 0 Then y = 2 * x + 1 Else y = 1 MsgBox y: & yEnd Sub第36页/共85页第三十六页,共86页。第37页/共85页第三十七页,共86页。第38页/共85页第三十八页,共86页。yxxxxxxxsincos231030第39页/共85页第三十九页,共86页。第40页/共85页第四十页,共86页。T x yT z 为最小数T 使得 x
9、yFFF x yzx y x 与 y 交换y z y 与 z 交换x y x 与 y 交换If xy Then t=x: x=y: y=t 第41页/共85页第四十一页,共86页。语句(yj)(yj)块 n+1 n+1 End If End If第42页/共85页第四十二页,共86页。第43页/共85页第四十三页,共86页。第44页/共85页第四十四页,共86页。第45页/共85页第四十五页,共86页。ForNextForNext循环循环(xnhun)(xnhun)语句语句 第46页/共85页第四十六页,共86页。 第47页/共85页第四十七页,共86页。第48页/共85页第四十八页,共86页
10、。例:计算累加程序 S=1+2+3+4.+x,并输出结果。方法:接收一个累加的终值,确定一个循环变量,循环变量有2个作用(加数和循环变量),确定一个存储累加和的变量。使用循环计算,最后输出显示结果。 Dim s As integer, x As integer x = InputBox(请输入累加的终值) For x = l To x s = s + x Next思考:计算=1+3+5+7X 或 2+4+6+8X 如何(rh)编写?第49页/共85页第四十九页,共86页。DoLoopDoLoop语句语句( (循环循环(xnhun)(xnhun)结构结构) )第50页/共85页第五十页,共86页
11、。 i=1 i=1 Do While i=10 Do While i=10 s=s+i s=s+i i=i+1 i=i+1 Loop Loop 当i=10i=10成立时,执行循环体循环变量(binling)i(binling)i必须有初值防止产生死循环有可能一次也不执行循环体第51页/共85页第五十一页,共86页。 i=1 i=1 Do Do s=s+i s=s+i i=i+1 i=i+1 Loop While i=10 Loop While i=10当i=10i10 Do Until i10 s=s+i s=s+i i=i+1 i=i+1 Loop Loop 当i10i10成立时,结束执行循
12、环体循环变量i i必须有初值防止(fngzh)(fngzh)产生死循环有可能一次也不执行循环体第53页/共85页第五十三页,共86页。 i=1 i=1 Do Do s=s+i s=s+i i=i+1 i=i+1 Loop Until i10 Loop Until i10当i10i10成立时,结束执行循环体循环变量i i必须有初值防止(fngzh)(fngzh)产生死循环至少执行一次循环体第54页/共85页第五十四页,共86页。第55页/共85页第五十五页,共86页。 第56页/共85页第五十六页,共86页。 数组不是一种数据类型,而是一组相同类型的变量的集合,数组必须先声明后使用(shyng)
13、(shyng)。 两类数组: 静态( (定长) )数组、动态( (可变长) )数组 1. 1.一维数组 定义一维数组的形式: Dim Dim 数组名(下界 ToTo 上界) As ) As 类型 声明了数组的名、维数、大小、类型 第57页/共85页第五十七页,共86页。 Option Base 1 Option Base 1 将数组声明中缺将数组声明中缺省省 下标设为下标设为1 1下界下界 和和 不能使用变量,必须是常量,不能使用变量,必须是常量,常量可以是直接常量可以是直接(zhji)(zhji)常量、符号常量,常量、符号常量,一般是整型常量。一般是整型常量。第58页/共85页第五十八页,共
14、86页。第59页/共85页第五十九页,共86页。第60页/共85页第六十页,共86页。第61页/共85页第六十一页,共86页。第62页/共85页第六十二页,共86页。第63页/共85页第六十三页,共86页。第64页/共85页第六十四页,共86页。第65页/共85页第六十五页,共86页。第66页/共85页第六十六页,共86页。 Next i第67页/共85页第六十七页,共86页。 V-6 VBA过程(guchng) 过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。VBA 具有四种过程:Sub 过程、Function 函数(hnsh)、Property
15、属性过程和Event 事件过程。第68页/共85页第六十八页,共86页。 Sub过程执行一些有用的任务但是不返回任何值,它们(t men)以关键字Sub开头并以关键字End Sub结束。如下例: V-6-1 Sub过程(guchng)Sub main() Msgbox(“Hello!”)End Sub第一行Sub表示过程(guchng)的开始,main为过程(guchng)名;第二行是过程(guchng)的主体,调用函数Msgbox(),输 出”Hello!”;最后End Sub表示过程(guchng) 的结束。第69页/共85页第六十九页,共86页。Sub 过程的参数有两种传递方式(fngs
16、h):按值传递(ByVal)和按地址传递(ByRef)。如下例:Sub password (ByVal x as integer, ByRef y as integer) If y=100 then y=x+y else y=x-y x=x+100End sub 1 Sub过程(guchng)的参数传递在上例中,过程password每次执行时需要向其传递两参数(x,y),否则该过程不能执行。在传递x与y参数时,x不影响过程password外部(wib)x的值,而y则对过程外的y值产生影响。第70页/共85页第七十页,共86页。 2 Sub过程(guchng)的调用调用过程有两种方式: 1. C
17、all 过程名(参数(cnsh)1, 参数(cnsh)2) ; 2. 过程名 参数(cnsh)1, 参数(cnsh)2如下例:Sub main() Call password(10,20) password 30,40End Sub方式1方式2注意:调用(dioyng)Sub过程也是在过程中进行的第71页/共85页第七十一页,共86页。 V-6-2 Function函数(hnsh)Function函数实际是实现一种映射,它通过一定的映射规则(guz),完成运算并返回结果。 它们以关键字Function开头并以关键字End Function结束。如下例:Function password(ByV
18、al x as integer) as boolean if x=150 then password=true else password=falseEnd Function 函数password返回(fnhu)一个布尔值第72页/共85页第七十二页,共86页。Function函数的两各调用方式(fngsh): 1.作为一个表达式放在=右端 ; 2.作为参数使用;如下例:Sub main() Dim i As Integer i = getResult(20) Debug.Print i i = getResult(30) + i Debug.Print iEnd SubFunction ge
19、tResult(ByVal i As Integer) As Integer Dim j As Integer getResult = 0 For j = 1 To i Step 1 getResult = getResult + j Next jEnd Function作为表达式作为参数第73页/共85页第七十三页,共86页。V-6-3Property 属性过程(guchng)和Event 事件过程(guchng) 这是VB 在对象功能上添加的两个过程,与对象特征密切相关,也是VBA 比较重要组成(z chn),技术比较复杂,可以参考相关书籍。第74页/共85页第七十四页,共86页。V-7
20、简单(jindn)介绍VBA操作SQL Server数据库 这一节介绍的是利用ADO的Connection对象来连接数据库,从面达到操作SQL Server的目的。 首先(shuxin)要说的是ADO是什么?ADO的全称是:Microsoft ActiveX Data Objects ,它使您的客户端应用程序能够通过 OLE DB 提供者访问和操作数据库服务器中的数据。它的主要优点是易于使用、速度快、内存支出低和占用磁盘空间少。第75页/共85页第七十五页,共86页。V-7-1 建立(jinl)对ADO对象库的引用 要操作ADO中的对象的话,首先就得创建对ADO对象库的引用。1. 在VB编辑器
21、窗口,选择工具(gngj)|引用以打开引用对话框。该对话框列出了你电脑上所有可用的类型库2. 在清单上找到Microsoft Active Data Objects 2.8 Library,并勾选上它表示版本,可选)3. 关闭引用对话框 一旦创建了对ADO类型库的引用,你就可以使用对象浏览器来查看该应用软件的对象,属性和方法了。如下图:第76页/共85页第七十六页,共86页。添加ADO类型库引用第77页/共85页第七十七页,共86页。查看(chkn)ADO类中的对象左键单击第78页/共85页第七十八页,共86页。V-7-2 实例介绍(jisho)操作SQL Server 下例程序是从SQL S
22、erver中查询数据(shj),并且使查询出的数据(shj)填充到Workbook 的sheet1中。再为数据(shj)库中的表作出更新操作。如下:第79页/共85页第七十九页,共86页。Sub FillData() Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim CnStr As String Dim Sql As String Sql = select * from ao_cn.hcc_region CnStr = Provider=SQLOLEDB;Data Source=IPaddress; “ _
23、& “UID=xxxxxx;pwd=xxxxx” CnStr = Provider=SQLOLEDB;Data Source=IPaddress; “ _ & “Integrated Security=SSPI conn.Open CnStr rs.Open Sql, conn, 1 Sheet1.A3.CopyFromRecordset rs conn.Execute (update tablename set column=xxxx) rs.Close conn.Close Set rs=Nothing Set conn = NothingEnd Sub1-2-3-4-5-6-7-8-9-
24、10-11-12-13-14-15-16-17-18-19-第80页/共85页第八十页,共86页。注释: 行1:开始过程FillData 行2:定义连接conn 行3:定义数据库记录(jl)集rs 行4:定义字符串CnStr 行5:定义字符串Sql 行6:给Sql赋值(一数据库中的查询语句) 行7,8:给CnStr赋值(连接数据库的必须SQL Server验证) 行9,10:另一种Windows验证连接数据库 行11:按CnStr验证打开数据库连接 行12:按Sql语句在数据库中查询,并读取记录(jl)传递给rs 行13:rs中的数据从sheet1中的A3单元格开始填充 行14:执行更新操作 行15:关闭rs记录(jl) 行16:关闭连接conn 行17:释放rs在内存中的空间 行18:释放conn在内存中的空间 行19:结束过程FillData;第81页/共85页第八十一页,共86页。数据库连接(linji)验证: CnStr = Provider=SQLOLEDB;Data Source=IPaddress; “ _ & “UID=xxxxxx;pwd=xxxxx”指定用于连接的提供者的名称指定数据库服务器IP地址指定登录数据库的用户名指定登录数据库的密码CnStr = Provider=SQLOLEDB;D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年十一月份全屋降噪工程实施后录音棚租赁合同
- 语音练习的普通话考试试题及答案
- 小学安全教育教学课件
- 二零二四年份三月装修合同智能门锁应急供电接口条款
- 初中爱国卫生月活动总结
- 2025企业合同范本下载2
- 灭火器采购合同范本
- 2025年商丘道路客货运输从业资格证模拟考试下载
- 案防培顺课件
- 临时便道施工合同标准文本
- 武汉市部分学校2024-2025学年下学期3月考七年级数学试题(含答案)
- 南京网架加固加固施工方案拆换杆件
- 举升机每日维护检查表
- 装饰装修隐蔽工程验收记录文本表全套范例
- 益智区故事:小动物住几楼
- 医疗机构相关法律法规培训PPT课件(医疗卫生与健康促进法、医师法、处方管理办法、传染病防治法、职业病防治法、医疗纠纷)
- 中国文学理论批评史全套教学课件
- 餐饮业成本核算 全套课件
- 三相异步电动机的速度控制
- 供电所线损的基本概念和管理
- CNAS质量体系文件(质量手册程序文件)
评论
0/150
提交评论