1 宏基本语法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Go To语句
If-Then构造

语法

If condition then

True Flase
Else


End if
Select Case构造
Select Case构造(续)
For-Next循环
For Each - Next 构造
Do While循环
Do While循环(续)
日期的使用

使用Date数据类型处理日期

范围从0100年1月1日至9999年12月31日,远大于Excel中使 用的日期范围
数组


数组是有共同名字的、相同类型的一组元素 举例: Dim MyArray (1 to 100) As Integer 定义了一个包含100个整数的数组。下标(索引号)从1到100 Dim MyArray(100) As Integer 定义了一个包含101个整数的数组,下标从0到100 (VBA默认) MyArray(2) =100 给MyArray数组中下标为2的元素赋值100
Redim MyArray(1 to 10)

Sub 与 Function
一个Sub过程案例 一个Function过程的案例 区别
VBA的控制结构
处理对象

With-End With 构造(宏录制时见过)
控制执行

Go To语句 (一般指向出错处理部分)
分支 If-Then构造 Select Case构造 循环 For-Next循环 For Each - Next 构造 Do While循环
模块作用域下的变量

公有变量

静态变量

常量的使用

常量--程序运行中其值保持不变的量

数值常量

八进制常量表示方法:&O 十六进制常量表示方法:&H

用户定义的符号常量

格式:Const 名字 [As 类型] =表达式
系统常量
常量的使用(续)

使用常量的优点

常量不可以在程序执行过程中修改 用常数替代编码困难的数值或字符串的效率比较高,特别 许多程序中都需要引用的一个特殊值,只需做一处修改。
数据类型
数据类型(续)
变量的使用

声明变量

如果不为变量声明数据类型,则使用Variant(变体类型)

基本格式:Dim 变量名 [As 数据类型] 建议一行定义一个变量,再加上一个行注释 实际上你可能看到,一条dim语句定义多个变量
变量的使用(续)

变量的作用域

决定变量可以用在哪个模块和过程中
VBA语法
课程大纲

注释,常量,变量,数据类型,数组 Sub 与 Function


VBA的控制结构

顺序 分支 循环
关于注释

注释的标记是单引号 VBA运行时完全忽略注释文本 注释的位置可以在非语句中的任何位置 常规注释的提示

使用注释简要描述编写的每个过程的目的 使用注释描述对过程所做的修改 使用注释指出正在以一种与众不同的或者不标准的方式使用 函数或者构造 使用注释描述变量的目的

单个过程:过程中用Dim 单个模块:模块内第一个过程之前用Dim或者Private 所有模块:模块内第一个过程之前用Public
变量的使用(续)

本地变量

只能用在声明它的过程中,过程结束,变量消失 在模块的第一个过程之前声明变量 只能在标准的模块中使用Public关键字声明 相对于本地变量可以在过程结束时保留变量的值
字符串的使用

两种字符串:



变长字符串 Dim myString As String 定长字符串: Dim myString As String * 8 ’长度为8个字符的字符串 可能在内存利用方面效率更高 建议定义变长。

字符串的连接


String1 + String 2 String1 & String2
1 0 0 0
2
… 99 100
100
… 0 0
1
2 … 100
0
100 0 0
MyArray (1 to 100)
MyArray (100)
动态数组
对于不能Hale Waihona Puke Baidu先确定数组维数的情况,可以定义动态数 组
举例:
Dim MyArray() As Integer

定义了一个动态数组,其维数和大小待定 在使用前,将数组确定为一个 下标为1到10的一维数组
编辑工具栏中的注释块按钮

VBA提供的注释工具

变量

变量只是命名的位于计算机内存中的存储位置 变量命名的规则

以字母打头的,字母、数字和部分标点符号串 不区分大小写 不能使用空格和句点 不能使用保留字 如果不合上述要求,系统会报错提示。
譬如试一下 dim sub as Integer 看看系统如何报错?
相关文档
最新文档