Excel_VBA_编程教程(完整版)(最新完整版)

更新时间:2023-06-01 18:28:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Excel VBA 目 录 一、VBA语言基础........................................................................... 第一节 标识符.......................................................................... 第二节 运算符.......................................................................... 第三节 数据类型........................................................................ 第四节 变量与常量...................................................................... 第五节 数组............................................................................ 删除........................................................................ 6 打开........................................................................ 6 读入........................................................................ 7 写入........................................................................ 7 关闭........................................................................ 7 其他文件函数................................................................ 7 二、VISUAL BASIC程序设计网络教学..........................................................第一课 VBA是什么 ......................................................................... 1.1 VBA是什么.........................................................................

1.6 编辑录制的代码.................................................................... 1.7 录制宏的局限性.................................................................... 1.8 小结..............................................................................第二课 处理录制的宏....................................................................... 2.1 为宏指定快捷键..................................................................... 2.2 决定宏保存的位置................................................................... 2.3 个人宏工作簿....................................................................... 2.3.1 保存宏到个人宏工作簿.................................................. 4 3.5 给控件命名........................................................................ 3.6 使用用户窗体...................................................................... 3.7 疑难解答..........................................................................第四课 理解变量和变量的作用............................................................... 4.1 代码存在的位置:模块.............................................................. 4.2 对模块的概览...................................................................... 4.2.1 创建过程.............................................................. 8 4.2.2 运行宏................................................................ 9

4.4.5 变量赋值............................................................. 11 第五课 利用VBA设置工作表使用权限.......................................................... 1.使用WITH语句。 .................................................................... 2.使用对象变量。..................................................................... 方法 3:减少对象的激活和选择.......................................................... 方法 4:关闭屏幕更新..................................................................第六课 提高EXCEL中VBA的效率............................................................... 方法 1:尽量使用VBA原有的属性、方法和WORKSHEET函数.................................... 5 运行宏.............................................................................. 6 修改宏代码.......................................................................... 7 添加注释............................................................................ 8 分析宏代码.......................................................................... 9 清除宏代码.......................................................................... 10 测试修改好的宏..................................................................... 11 两个层面运行宏的方法............................................................... 12 完善你的宏代码..................................................................... 13 重新命名宏......................................................................... 14 运行宏的其它方法...................................................................----------------------- 页面 3-----------------------

20 打印宏............................................................................. 21 保存宏在个人宏工作簿............................................................... 22 打开含有宏的工作簿................................................................. 23VB编辑窗口.......................................................................... 24 了解工程浏览窗口................................................................... 25 了解属性窗口....................................................................... 26 了解代码窗口....................................................................... 27 VB编辑器里的其它窗口............................................................... 28 接下来 .........................................................................第二章 VBA 第一步......................................................................... 18 设置注释块/解除注释块.............................................................. 19 使用对象浏览器..................................................................... 20 使用VBA对象库...................................................................... 21 用对象浏览器来定位过程............................................................. 22 使用立即窗口....................................................................... 23 获取立即窗口里的信息............................................................... 24 学习对象........................................................................... 25 电子表格单元格操作................................................................. 26 使用RANGE属性...................................................................... 27 使用CELLS属性...................................................................... 28 使用OFFSET属性..................................................................... 29 选择单元格的其它方法...............................................................

36 操作工作簿和工作表................................................................. 37 操作窗口(WINDOWS)................................................................ 38 管理EXCEL应用程序..................................................................----------------------- 页面 4----------------------- 39 接下来 .........................................................................第三章 了解变量,数据类型和常量........................................................... 1 保存VBA语句的结果................................................................... 2 变量是什么.......................................................................... 20 接下来 .........................................................................第四章 VBA过程:子程序和函数.............................................................. 1.关于函数过程........................................................................ 2.创建函数过程........................................................................ 3.执行函数过程........................................................................ 4.从工作表里运行函数过程.............................................................. 5.从另外一个VBA过程里运行函数过程..................................................... 6.传递参数............................................................................ 7.明确参数类型........................................................................ 8.按地址和按值传递参数................................................................

15.使用INPUTBOX方法................................................................... 16.使用主过程和子过程................................................................. 17.接下来 .........................................................................第五章 基于VBA做决定 ..................................................................... 1.关系和逻辑运算符.................................................................... 2.IF THEN语句........................................................................ 3.基于多于一个条件的决定.............................................................. 4.THE IF THEN ELSE语句.............................................................. 5.IF THEN ELSEIF语句................................................................ 6.嵌套的IF THEN语句.................................................................. 8.循环嵌套............................................................................ 9.接下来 ............................................................................第七章 利用VBA数组管理数据清单和表格...................................................... 1.了解数组............................................................................ 2.声明数组............................................................................ 3.数组的上界和下界.................................................................... 4.在VBA过程里使用数组................................................................. 5.数组和循环语句...................................................................... 6.使用二维数组........................................................................ 7.静态和动态数组......................................................................

14.数组作为参数....................................................................... 15.接下来 ...........................................................................第八章 利用VBA操纵文件和文件夹............................................................ 1.获取当前文件夹的名称(CURDIR函数).................................................. 2.更改文件或文件夹名称(NAME函数).................................................... 3.检查文件或文件夹是否存在(DIR函数)................................................. 4.获得文件修改的日期和时间(FILEDATETIME函数)........................................ 5.获得文件大小(FILELEN函数)......................................................... 6.返回和设置文件属性(GETATTR函数和SETATTR函数)...................................... 7.更改缺省文件夹或驱动器(CHDIR语句和CHDRIVE语句)....................................----------------------- 页面 6----------------------- 25.FILESYSTEMOBJEC的方法和属性........................................................ 26.对象FILE的属性..................................................................... 27.文件夹对象属性..................................................................... 28.驱动器对象属性..................................................................... 29.使用WSH创建文本文件................................................................ 30.使用WSH进行其它操作................................................................ 31.运行其它应用程序................................................................... 32.创建快捷方式....................................................................... 33.接下来 .........................................................................

4.控制应用程序的其它方法.............................................................. 5.了解自动控制........................................................................ 6.了解链接和嵌入...................................................................... 7.使用VBA进行链接和嵌入............................................................... 和自动控制....................................................................... 9.了解绑定............................................................................ 10.后期绑定........................................................................... 11.早期绑定........................................................................... 12.建立到对象库的引用................................................................. 13.创建自动控制对象................................................................... 14.使用CREATEOBJECT函数............................................................... 15.使用自动控制创建一个新的WORD文档................................................... 10.切换按钮........................................................................... 11.列表框............................................................................. 12.复合框............................................................................. 13.滚动条............................................................................. 14.旋转按钮........................................................................... 15.图像............................................................................... 16.多页控件........................................................................... 17.TABSTRIP控件 ...................................................................... 18.REFEDIT控件........................................................................ 19.在窗体上放置控件................................................................... 20.应用程序示例 1:信息调查........................................................... 21.在窗体上添加按钮、选项框和其它控件 ................................................

25.显示自定义窗体..................................................................... 26.设置TAB顺序........................................................................ 27.了解窗体和控件事件................................................................. 28.编写VBA过程对窗体和控件事件反应.................................................... 29.编写过程来初始化窗体............................................................... 30.编写过程填充列表框控件............................................................. 31.编写过程控制选项按钮............................................................... 32.编写过程同步文字框和旋转按钮....................................................... 33.编写过程关闭用户窗体............................................................... 34.转移窗体数据到工作表............................................................... 35.使用INFO SURVEY应用程序............................................................ 36.应用程序示例 2:学生和考试......................................................... 11.创建类方法......................................................................... 12.创建类的示例....................................................................... 13.类模块里的事件过程................................................................. 14.创建用户界面....................................................................... 15.观察VBA过程的执行.................................................................. 16.接下来 .........................................................................第十二章 使用VBA创建自定义菜单和工具栏.................................................... 1.工具栏.............................................................................. 2.创建自定义工具栏.................................................................... 3.删除自定义工具栏....................................................................

10.创建子菜单......................................................................... 11.修改内置快捷菜单................................................................... 12.创建快捷菜单....................................................................... 13.接下来 .........................................................................第十三章 调试VBA过程和处理错误............................................................----------------------- 页面 8----------------------- 1.测试VBA过程......................................................................... 2.终止过程............................................................................ 3.使用断点............................................................................第十四章 微软EXCEL 2002 中的事件编程...................................................... 1.事件过程介绍........................................................................ 2.激活和失活事件...................................................................... 3.事件次序............................................................................ 4.工作表事件.......................................................................... 5.工作簿事件.......................................................................... 6.图表事件............................................................................ 7.内嵌图表事件........................................................................ 8.可为应用软件对象识别的事件.......................................................... 9.查询表时间.......................................................................... 10.接下来 .........................................................................

4.使用AUTOMATION链接到ACCESS数据库.................................................... 5.使用DAO链接到ACCESS数据库........................................................... 6.使用ADO链接到ACCESS数据库........................................................... 7.从EXCEL执行ACCESS任务............................................................... 8.创建新ACCESS数据库.................................................................. 9.打开ACCESS窗体...................................................................... 10.打开ACCESS报表..................................................................... 11.运行ACCESS查询..................................................................... 12.运行选择查询....................................................................... 13.运行参数查询....................................................................... 14.调用ACCESS函数..................................................................... 15.获取ACCESS数据到EXCEL工作表........................................................----------------------- 页面 10-----------------------VBA 语言基础 橄榄树整理 一、VBA 语言基础 第一节 标识符 一.定义 标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成 对变量、常量、过程、函数、类等的引用。 二.命名规则

定义:运算符是代表 VB某种运算功能的符号。 1)赋值运算符 2)数学运算符 &、+ (字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/ (除)、-(负号)、^(指数) 3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含) 4)关系运算符 = (相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于) Like、Is 5)位运算符 Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑 等)、Imp(隐含) 第三节 数据类型 第四节 变量与常量 1)VBA 允许使用未定义的变量,默认是变体变量。 2)在模块通用说明部份,加入 Option Explicit 语句可以强迫用户进行变量定义。 3)变量定义语句及变量作用域 Dim 变量 as 类型 '定义为局部变量,如 Dim xyz as integer Private 变量 as 类型 '定义为私有变量,如 Private xyz as byte Public 变量 as 类型 '定义为公有变量,如 Public xyz as single Global 变量 as 类型 '定义为全局变量,如 Globlal xyz as date Static 变量 as 类型 '定义为静态变量,如 Static xyz as double 一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。

变量作用域。如下定义:Const Pi 3.1415926 as single 第五节 数组 数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标 进行。在内存中表现为一个连续的内存块,必须用 Global或 Dim 语句来定义。定义规则如下: Dim 数组名([lower to ]upper [, [lower to ]upper, .]) as type ;Lower 缺省值为 0。二 维数组是按行列排列,如 XYZ(行,列)。 除了以上固定数组外,VBA 还有一种功能强大的动态数组,定义时无大小维数声明;在程 序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。 如下例: 1)If Then Else语句 If condition Then [statements][Else elsestatements] 如 1:If A>B And C<D Then A=B+2 Else A=C+2 如 2:If x>250 Then x=x-100 或者,可以使用块形式的语法: If condition Then [statements] [ElseIf condition-n Then [elseifstatements] ... [Else [elsestatements]]

Else Digits = 3 End If 2)Select Case Case End Case 语句 如 1: Select Case Pid Case “A101” Price=200 Case “A102” Price=300 2TRUE 的值会被返回。 expr 必要参数,要加以计算的 Variant 表达式。value 必要参数。如 果相关的表达式为 True,则返回此部分的数值或表达式,没有一个表达式为 True,Switch 会 返回一个 Null 值。 第九节 循环语句 1)For Next 语句 以指定次数来重复执行一组语句 For counter start To end [Step step] ' step 缺省值为 1 [statements] [Exit For] [statements] Next [counter]

Next Words 2)For Each Next 语句 主要功能是对一个数组或集合对象进行,让所有元素重复执行一次 语句 For Each element In group Statements [Exit for] Statements Next [element] 如 1: For Each rang2 In range1 With range2.interior .colorindex=6 VBA 语言基础 橄榄树整理 Statements Loop 或者使用下面语法 Do ' 先do 再判断,即不论如何先干一次再说 Statements Exit do Statements Loop {while |until} condition

2) On expression gosub destinatioinlist 或者 on expression goto destinationlist 语 句为根据 exprssion 表达式值来跳转到所要的行号或行标记 3) Gosub line line Return 语句, Return 返回到 Gosub line 行,如下例: Sub gosubtry() Dim num Num=inputbox(“输入一个数字,此值将会被判断循环”) If num>0 then Gosub Routine1 :Debug.print num:Exit sub Routine1: Num=num/5 Return End sub 4) while wend语句,只要条件为 TRUE,循环就执行,这是以前 VB 老语法保留下来的,如下 Sub 过程的参数有两种传递方式:按值传递(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+100 End sub Sub call_password () Dim x1 as integer Dim y1 as integer x1=12 y1=100 Call password (x1,y1) ‘调用过程方式:1. Call 过程名(参数1, 参数 2 ) ; 2. 过 程名 参数 1, 参数 2

debug.print x1,y1 ‘结果是 12、112,y1 按地址传递改变了值,而 x1 按值传递,未 改变原值 End sub 二.Function 函数 函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。参数传递也两 种:按值传递(ByVal)和按地址传递(ByRef)。如下例: Function password(ByVal x as integer, byref y as integer) as boolean If y=100 then y=x+y else y=x-y x=x+100 if y=150 then password=true else password=false End Function IsNumeric(x) ‘是否为数字, 返回Boolean 结果,True or False IsDate(x) ‘是否是日期, 返回Boolean 结果,True or False IsEmpty(x) ‘是否为 Empty, 返回Boolean 结果,True or False IsArray(x) ‘指出变量是否为一个数组。 IsError(expression) ‘指出表达式是否为一个错误值 IsNull(expression) ‘指出表达式是否不包含任何有效数据 (Null)。 IsObject(identifier)‘指出标识符是否表示对象变量 二.数学函数 Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度 Log(x) 返回x 的自然对数 Exp(x)返回 ex

Rnd(x)返回 0-1 之间的单精度数据,x 为随机种子 三.字符串函数 Trim(string) 去掉 string左右两端空白 Ltrim(string) 去掉 string左端空白 Rtrim(string) 去掉 string右端空白 Len(string) 计算 string长度 Left(string, x) 取 string 左段 x 个字符组成的字符串 Right(string, x) 取 string 右段 x 个字符组成的字符串 Mid(string, start,x) 取 string 从start 位开始的 x 个字符组成的字符串 Ucase(string) 转换为大写 5CLng(expression) 转换为 Long型 CSng(expression) 转换为 Single 型 CStr(expression) 转换为 String 型 CVar(expression) 转换为 Variant 型 Val(string) 转换为数据型 Str(number) 转换为 String 五.时间函数 Now 返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时 间。 Date 返回包含系统日期的 Variant (Date)。 Time 返回一个指明当前系统时间的 Variant (Date)。 Timer 返回一个 Single,代表从午夜开始到现在经过的秒数。

Minute(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的 某分钟 Hour(time) 返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某 一钟点 Day(date) 返回一个 Variant (Integer),其值为 1 到 31 之间的整数,表示一个月中的某 一日 Month(date) 返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月 Year(date) 返回 Variant (Integer),包含表示年份的整数。 Weekday(date, [firstdayofweek]) 返回一个 Variant (Integer),包含一个整数,代表某个 日期是星期几 第十三节 文件操作 VBA 语言基础 橄榄树整理 mode 必要。关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。 如果未指定方式,则以 Random 访问方式打开文件。 access 可选。关键字,说明打开的文件可以进行的操作,有 Read、Write、或 Read Write 操 作。 lock 可选。关键字,说明限定于其它进程打开的文件的操作,有 Shared、Lock Read、Lock Write、 和 Lock Read Write 操作。 filenumber 必要。一个有效的文件号,范围在 1 到 511 之间。使用 FreeFile 函数可得到下 一个可用的文件号。 reclength 可选。小于或等于 32,767(字节)的一个数。对于用随机访 问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。

文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打 开文件之前先关闭该文件。 读入 Input #filenumber, varlist 从已打开的顺序文件中读出数据并将数据指定给变量 Get [#]filenumber, [recnumber], varname 将一个已打开的磁盘文件读入一个变量之中。 写入 Write #filenumber, [outputlist] 将数据写入顺序文件 Print #filenumber, [outputlist] 将格式化显示的数据写入顺序文件中 Put [#]filenumber, [recnumber], varname 将一个变量的数据写入磁盘文件中。 关闭 Close [filenumberlist] 关闭 Open 语句所打开的输入/输出 (I/O) 文件 注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语 Visual BASIC 程序设计网络教学 橄榄树 整 理 二、Visual BASIC 程序设计网络教学 第一课 VBA 是什么 1.1 VBA 是什么 直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程 序,人们不得不学习一种不同的自动化语言.例如:可以用 EXCEL 的宏语言来使 EXCEL 自动化,使

3. 要运行 VB 开发的应用程序,用户不必安装 VB,因为 VB 开发出的应用程序是可执行文件 (*.EXE),而VBA 开发的程序必须依赖于它的"父"应用程序,例如 EXCEL. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现 学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA 创建解决方案后,即已具备在 WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用 VBA 创建解决方 案的大部分知识. * VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA 可以称作 EXCEL 的"遥控器". VBA 究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建 自定义的解决方案. 此外,如果你愿意,还可以将 EXCEL 用做开发平台实现应用程序. 1.3 录制简单的宏 在介绍学习 VBA 之前,应该花几分钟录制一个宏。 新术语:"宏",指一系列 EXCEL 能够执行的 VBA 语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1 单元格。调出"常用"工具栏。 3)选择"工具"-"宏"-"录制新宏"。 4)输入"改变颜色"作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示"录制",特 别是"停止录制"工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★ 宏名最多可为 255 个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和

本文来源:https://www.bwwdw.com/article/rl91.html

Top