精简_第8章 模块与VBA编程
合集下载
模块和VBA程序设计

调试
在模块中编写代码时,可以使用调试工具来检查代码中的错误和异常,确保代码的正确性和稳定性。 调试工具包括断点、单步执行、变量监视等。
03 VBA程序流程控制
顺序结构
顺序结构
按照代码的先后顺序执行,是最基本的程序流程结构。
描述
顺序结构按照代码的顺序逐行执行,先执行的语句先执行,后执行的语句后执 行。
VBA具有面向对象的特点,支持类、继承和多 态等特性,使得开发过程更加灵活和高效。
VBA可以用于创建宏、自定义函数、操作Excel 等Office组件,实现自动化办公和定制化功能。
VBA编程环境
01
VBA编程环境通常包括Microsoft Office应用程序(
如Excel、Word等)中的VBA编辑器。
对象
在VBA中,对象是具有属性和方法的实体。例如,Excel工作簿、工作表、单元格等都是对象。
属性
对象的属性描述了对象的特征或状态。例如,一个单元格对象的属性包括它的值、字体、背景色等。
对象的方法
• 方法:对象的方法是对象可以执行的操作。例如 ,一个单元格对象的方法可以包括设置其值、字 体或背景色等。
顺序结构
示例 ```vba Sub sequential_structure()
顺序结构
' 声明变量
Dim number As Integer
顺序结构
' 赋值
number = 10
顺序结构
'
Debug.Print "The number is " & number
顺序结构
End Sub
```
Hale Waihona Puke 选择结构• End If
在模块中编写代码时,可以使用调试工具来检查代码中的错误和异常,确保代码的正确性和稳定性。 调试工具包括断点、单步执行、变量监视等。
03 VBA程序流程控制
顺序结构
顺序结构
按照代码的先后顺序执行,是最基本的程序流程结构。
描述
顺序结构按照代码的顺序逐行执行,先执行的语句先执行,后执行的语句后执 行。
VBA具有面向对象的特点,支持类、继承和多 态等特性,使得开发过程更加灵活和高效。
VBA可以用于创建宏、自定义函数、操作Excel 等Office组件,实现自动化办公和定制化功能。
VBA编程环境
01
VBA编程环境通常包括Microsoft Office应用程序(
如Excel、Word等)中的VBA编辑器。
对象
在VBA中,对象是具有属性和方法的实体。例如,Excel工作簿、工作表、单元格等都是对象。
属性
对象的属性描述了对象的特征或状态。例如,一个单元格对象的属性包括它的值、字体、背景色等。
对象的方法
• 方法:对象的方法是对象可以执行的操作。例如 ,一个单元格对象的方法可以包括设置其值、字 体或背景色等。
顺序结构
示例 ```vba Sub sequential_structure()
顺序结构
' 声明变量
Dim number As Integer
顺序结构
' 赋值
number = 10
顺序结构
'
Debug.Print "The number is " & number
顺序结构
End Sub
```
Hale Waihona Puke 选择结构• End If
第8章模块和VBA程序设计

12
zgx19720111hx@
8.2 VBA程序设计基础
VBA是Visual Basic for Application的缩写,是 微软Office系列软件的内置编程语言,与Visual Basic具有 相同的语言功能。
在VBA中,程序是由过程组成的,过程由根据VBA规则书 写的指令组成。一个程序包括语句、变量、运算符、函数、 数据库对象、事件等基本要素。
第8章 模块和VBA程序设计
本章要求:
1、了解VBA编程环境; 2、掌握VBA编程基础:常量,变量,表达式; 3、掌握顺序控制,选择控制,循环控制 4、了解VBA模块
本章要点:
掌握顺序控制,选择控制,循环控制
学时安排:
6学时(理论)+6学时(实践)
1
zgx19720111hx@
第8章 模块和VBA程序设计
标签单击时发生事件 标签双击时发生事件 标签上鼠标按下时发生事件 文本框内容更新前发生事件 文本框内容更新后发生事件 文本框输入焦点之前发生事件
文本框获得输入焦点时发生事件 文本框失去输入焦点时发生事件 文本框内容更新时发生事件 文本框内键盘按键时发生事件 文本框内鼠标按下键时发生事件 19
8.2 VBA程序设计基础
任意两个数的和
8
8.1 模块的概念
例8-1:下面是一个简单的验证密码的Sub过程。 Sub CheckPwd( )
Dim Pwd As String Pwd=InputBox(“请输入密码!”) If Pwd=”123456” Then
MsgBox ”密码正确,欢迎进入系统!” Else
MsgBox ”密码错误!” End if End Sub
调用过程:
11
zgx19720111hx@
8.2 VBA程序设计基础
VBA是Visual Basic for Application的缩写,是 微软Office系列软件的内置编程语言,与Visual Basic具有 相同的语言功能。
在VBA中,程序是由过程组成的,过程由根据VBA规则书 写的指令组成。一个程序包括语句、变量、运算符、函数、 数据库对象、事件等基本要素。
第8章 模块和VBA程序设计
本章要求:
1、了解VBA编程环境; 2、掌握VBA编程基础:常量,变量,表达式; 3、掌握顺序控制,选择控制,循环控制 4、了解VBA模块
本章要点:
掌握顺序控制,选择控制,循环控制
学时安排:
6学时(理论)+6学时(实践)
1
zgx19720111hx@
第8章 模块和VBA程序设计
标签单击时发生事件 标签双击时发生事件 标签上鼠标按下时发生事件 文本框内容更新前发生事件 文本框内容更新后发生事件 文本框输入焦点之前发生事件
文本框获得输入焦点时发生事件 文本框失去输入焦点时发生事件 文本框内容更新时发生事件 文本框内键盘按键时发生事件 文本框内鼠标按下键时发生事件 19
8.2 VBA程序设计基础
任意两个数的和
8
8.1 模块的概念
例8-1:下面是一个简单的验证密码的Sub过程。 Sub CheckPwd( )
Dim Pwd As String Pwd=InputBox(“请输入密码!”) If Pwd=”123456” Then
MsgBox ”密码正确,欢迎进入系统!” Else
MsgBox ”密码错误!” End if End Sub
调用过程:
11
精简_第8章 模块与VBA编程

23
8.2
VBA的流程控制
8.2.1 顺序控制
24
8.2.2 条件语句
1. 单行结构条件语句
格式:If〈条件〉Then〈语句1〉[Else〈语句2〉] end if 功能:如果“条件”成立(其值 False 为True或为非0值),则执行“语 条件 句1”,否则,执行“语句2”。 True
语句1 语句2
30
8.2.3 循环语句
输出5次“ok”? 输出20次”ok”?
31
8.2.3 循环语句
1.Do…Loop循环
格式1: Do while 条件 [<循环体>] [Exit Do] Loop
32
8.2.3 循环语句
输出5次ok? Public Sub ok() Dim n As Integer n=1 Do While n <= 5 Debug.Print "ok", n n=n+1 Loop End Sub
13
8.1.4 常量、变量与数组
1.常量
常量是指不变的数据。VBA支持4 种类型 的常量:直接常量、符号常量、固有常量和系 统定义常量。
14
符号常量
符号常量定义的格式为: Const <常量名> [ as <数据类型>]=<数据> [,...] 说明:格式中尖括号部分为必填内容,中 括号部分为选填内容,[,…]表示之前部分可 重复。 例如: Const te=10
双精度型
Double
#
8
小数型
货币型 逻辑型 日期型 对象型 变体型
Decimal
Currency Boolean Date Object Variant @ 无 无 无 无
第8章 VBA编程

8.1.2 模块的分类P281
在Access中,模块有两种基本类型:类模块和标准模块 •Access中的类模块可以独立存在,也可以与窗体和报表同 时出现。窗体和报表模块是类模块的典型例子,该类模块 与某一窗体或报表相关联。窗体和报表模块通常都含有事 件过程,该过程用于响应窗体或报表中的事件,可以使用 事件过程来控制窗体或报表的行为,以及它们对用户操作 的响应。窗体模块和报表模块的生命周期是伴随着窗体或 报表的打开而开始、关闭而结束。 •标准模块包含的是通用过程和常用过程,这些通用过程不 与任何对象相关联,常用过程可以在数据库中的任何位置 执行。 •标准模块的生命周期是伴随着应用程序的运行而开始、关 闭而结束。
C) Byte
D) Integer
2 . 运算符和表达式P299、P263课本 运算符 算术运算符
真题 表达式4+5\6*7/8 mod 9的值是(
5
)
字符串串连接运算符: & 、+
" 123 " + " 456 " 结果 " 123456 " " 123 " & " 456 " 结果 " 123456 " 区别:+ 两边必须是字符串,& 不一定 例如:“abcdef‖ & 12345 ‗ 结果为 "abcdef12345 " "123" & 456 ' 结果为" 123456 " "abcdef " + 12345 ' 出错 " 123 " + 456 ' 结果为 579 真题 连接式“2+3‖&―=‖&(2+3)的运算结果为( B
第8章 vba编程基础

8
(2)使用Dim语句声明变量
声明变量的一般方法是用Dim语句,其格式为: Dim 变量名 [As 数据类型] 说明:省略[As 数据类型],则默认定义的变量为 Variant数据类型。 可以使用Dim语句在一行中声明多个变量。 例: Dim strX As String Dim intX As Integer, strZ As String Dim i,j,k As Integer
逻辑运算符的优先级低于关系运算符,常用的3个逻辑运算 符之间的优先级由高到低依次为:Not→And →Or。
18
(5)对象运算符
对象运算符有“!”和“.”两种。
使用“!”运算符可以引用一个窗体、报表或窗体和报表 上的控件。
例:
运算符 Forms![学生信息] Forms![学生信息]![学号] Reports![学生成绩] 引用含义 标识打开的“学生信息”窗体 标识打开的“学生信息”窗体 上的“学号”控件 标识打开的“学生成绩”报表
注意:Type语句只能在模块的通用声明部分使用。
10
使用了Type语句声明了一个用户自定义类型后,就 可以在该声明范围内的任何位置声明该类型的变量。 可以使用Dim语句声明用户自定义类型的变量。 例:Dim x as XS =“张红” x.BirthDate=#80/10/12# x.Sex=0
21
1.注释语句
(1)Rem语句 ,语句格式:Rem 注释内容 (2)英文单引号“’”, 语句格式:’注释内容 注释语句可以添加到程序模块的任何位置,并且默认以 绿色文本显示。 例:str1=“hello” :Rem str1赋值为“hello” str2=“world” „str2赋值为“world”
第8章+VBA与模块

8.1.2 VBA模块
例8-2 建立一个标准模块,运行时显示“欢迎使用Access!” 操作步骤: (1)在数据库中,单击“创建”选项卡下的“模块”按钮 。 (2)输入代码。
(3)单击“保存”按钮,为模块起名:First。 (4)单击标准工具栏上“运行子过程”命令,数据库窗口显 示相应信息。
8.2 面向对象程序设计
8.2 面向对象程序设计
2.使用代码设置对象属性
(3) 编写窗体的Load事件和命令按钮的Click事件。
(4) 运行窗体视图,单击命令按钮“开始”显示结果如下。
8.2 面向对象程序设计
8.2.3 编程步骤
VBA编程有以下几个主要步骤: 1.创建用户界面
2.设置对象属性
3.编写对象的事件过程 4.运行和调试 5.保存窗体
8.2.2 使用代码设置对象属性和事件
1. 关键字Me
Me是“包含这段代码的对象”的简称,可以代表当前对象。 在类模块中,Me代表当前窗体或当前报表。 例如: Me.Caption= “学生信息一览表” 定义当前窗体的Caption属性。
bel1.Caption= “学生信息”
定义当前窗体中标签Lab础
8.3.3 变量 1.变量命名规则
(1) 以字母开始,可以包括数字、字母和下划线;不能多于 255个字符;
(2) 不能使用关键字命名(如End、Print、Sub等); (3) 在同一作用域中,变量名不能重复。
8.3 VBA编程基础
8.3.3 变量 2.变量的类型和定义
8.3 VBA编程基础
8.3.2 常量
常量指在程序运行过程中其值保持不变的量。 常量有两种:直接常量和符号常量。 1.直接常量 取值本身直接反映了其类型;例如:"abcd",345 2.符号常量 定义符号常量,用来代替数值或字符串,提高代码的可读性, 便于维护。一般格式为: Const 常量名=表达式 [, 常量名=表达式]... 例如: Const pai=3.1415926 Const pai=3.1415926 r=10 r=10 Area=3.14*r*r Area=pai*r*r c=2*3.14*r c=2*pai*r
第8章 VBA程序设计与模块

十一、运算符 在VBA中,提供了很多运算符来完成各种运算,主 要有算术运算符、关系运算符、逻辑运算符和链接运算 符四种。 1、算术运算符:主要有乘幂(^)、乘法(*)、除法 (/)、整数除法(\)、求模(余)运算(Mod)、加法(+)、减 法(-)这7个运算符。运算符与两个运算对象之间一般都 用一个空格隔开。 说明:对于\运算,操作数有小数一般四舍五入为 整数后再做运算,但结果有小数则直接省略掉小数。 Mod运算的操作数如果有小数则四舍五入为整数后再做 运算,且余数的符号与被除数的符号一致。
五、数组 当有多个类型相同的数据要保存时可以使用数组进行保 存,数组是在有规则的结构中包含一种数据类型的一组数据。 定义格式:Dim 数组名 (下标上限) 或 Dim 数组名 (下标下限 to 下标上限) 数组元素引用格式:数组名(下标值) 说明:每个数组元素相当于一个变量一样,它的下标必 须在规定的范围只内,在定义时如果不指定下标下限则下标 从0开始到上限止。如:Dim NewArray(10) As Integer 表示定义的数组名为NewArray,有11个元素,分别为 NewArray(0)至NewArray(程中,经常需要将某种数据类型转换为另一 种数据类型。例如窗体文本框中显示的数值数据为字符串 类型,要想作为数值处理就需要进行数据类型转换。 使用格式:函数名(被转换的表达式)
例:做如下布局的窗体,并设置三个文本框的名称分别为 s1、s2、result。然后给“计算”按钮的单击事件添加相 应的代码。
提示:如果需要强制变量必须定义,则需要在声 明区域写上语句:Option Explicit。 变量的作用域: 1、局部范围:在过程或函数内部定义的或直接使 用的变量,只在本过程有效。 2、模块范围:在过程之外,即模块的最开始变量 定义处以dim关键字定义的变量,在本模块的所有过程 中都可以使用这个变量。 3、全局范围:在模块开始的变量定义处以 public 变量名 as 数据类型 定义的变量,在所有的 模块中均可以使用。
第八章 模块与VBA编程基础

通常,模块是由以下两部分组成: 子过程
❖ 声明部分:可以在这部分定义变量、常量、自 定义类型和外部过程。在模块中,声明部分和 过程部分是分割开来的,声明部分定义的常量 和变量是全局的,可以被模块中的所函数有过过程程调 用。
❖ 事件过程部分:这是一种自动执行的过程,用 来对用户或者程序代码启动的事件或系统触发 的事件做出响应,包括函数过程和子过程。
1. Sub过程和function函数过程格式:
Sub 过程名
Function 函数名
[程序代码]
[程序代码]
End Sub
End Function
Sub过程的特点: 1)Sub过程又称子过程,执行一系列操作,无返回值.
2)调用方式: 过程名称 或 call 过程名称 Function函数过程的特点:
8.2 创建模块
❖ 模块是装着VBA 代码的容器,过程是模块的单元组成, 由VBA代码编写而成.过程分为两种类型: Sub子过程 和Function函数过程.
❖ 在模块中加入过程 进入类模块编辑区:“代码”工具按钮或者窗体 和报表的事件过程。 进入标准模块编辑区:“模块”—“新建”
模块的组成 声明
❖ 如何进入标准模块代码设计区域?
通过创建新的模块对象而进入其代码 设计环境.
– 标准模块通常安排一些公共变量或过程 供类模块里的过程调用.
– 标准模块中的公共变量和公共过程具有 全局特性,其作用范围在整个应用程序中.
8.1.3 将宏转换为模块
每一个宏操作都有自己对应的VBA代码, 根据需要我们可以把宏转换为模块。
❖ 变量的数据类型可以是前面所介绍的数据类 型中的任何一种,也可以是用户自定义的数 据类型。
三、数据库对象
❖ 如数据库、表、查询、窗体和报表等,也有对应的 VBA对象数据类型,这些对象数据类型由引用的对 象库所定义,常用的VBA对象数据类型和对象库中 所包括的对象参见表8.3所示(教材P208)。
❖ 声明部分:可以在这部分定义变量、常量、自 定义类型和外部过程。在模块中,声明部分和 过程部分是分割开来的,声明部分定义的常量 和变量是全局的,可以被模块中的所函数有过过程程调 用。
❖ 事件过程部分:这是一种自动执行的过程,用 来对用户或者程序代码启动的事件或系统触发 的事件做出响应,包括函数过程和子过程。
1. Sub过程和function函数过程格式:
Sub 过程名
Function 函数名
[程序代码]
[程序代码]
End Sub
End Function
Sub过程的特点: 1)Sub过程又称子过程,执行一系列操作,无返回值.
2)调用方式: 过程名称 或 call 过程名称 Function函数过程的特点:
8.2 创建模块
❖ 模块是装着VBA 代码的容器,过程是模块的单元组成, 由VBA代码编写而成.过程分为两种类型: Sub子过程 和Function函数过程.
❖ 在模块中加入过程 进入类模块编辑区:“代码”工具按钮或者窗体 和报表的事件过程。 进入标准模块编辑区:“模块”—“新建”
模块的组成 声明
❖ 如何进入标准模块代码设计区域?
通过创建新的模块对象而进入其代码 设计环境.
– 标准模块通常安排一些公共变量或过程 供类模块里的过程调用.
– 标准模块中的公共变量和公共过程具有 全局特性,其作用范围在整个应用程序中.
8.1.3 将宏转换为模块
每一个宏操作都有自己对应的VBA代码, 根据需要我们可以把宏转换为模块。
❖ 变量的数据类型可以是前面所介绍的数据类 型中的任何一种,也可以是用户自定义的数 据类型。
三、数据库对象
❖ 如数据库、表、查询、窗体和报表等,也有对应的 VBA对象数据类型,这些对象数据类型由引用的对 象库所定义,常用的VBA对象数据类型和对象库中 所包括的对象参见表8.3所示(教材P208)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双精度型
Double
#
8
小数型
货币型 逻辑型 日期型 对象型 变体型
Decimal
Currency Boolean Date Object Variant @ 无 无 无 无
14
8 2 8 4 按需分配
小数点右边的数字个数为0~28
-922337203685477.5808~ 922337203685477.5807 True与False 01/01/100~12/31/9999 任何对象引用
33
8.2.3 循环语句
求1到5的和? 求1到100的和? 求1到100的奇数和? 求1到100的偶数和?
34
8.2.3 循环语句
求1到100的奇数和? Public Sub QHJS() Dim n As Integer Dim s as integer n=1 s=0 Do While n <= 99 s=s+n n=n+2 Loop debug.print s End Sub
17
二维数组(略)
前面我们定义的数组都属一维数组,即元素下标 只有一个。二维数组元素有两个下标,它相当于一张 由行和列组成的二维表格,第一维下标相当于行,第 二维下标相当于列。我们这样定义二维数组。 Dim b(2,3) As Single 二维数组sStudents拥有两个下标,由于默认下标 从0开始,所以它可以被看成一个3行、4列的表格。
4
(3)对象的方法 对象的方法是指对象所固有的、可以完成某种任务的功 能,是对象可以执行的动作。调用格式:对象名.方法名称 (4)对象的事件 事件是一种特定操作。在某个对象上发生或对某个对象 发生。事件可以由用户触发,也可以通过系统触发。。 为了使得对象在某一事件发生时能够做出所需要的反应, 就必须针对这一事件编写相应的代码来完成相应的功能。
28
课外练习
1.某公司员工工资计算规则如下:正常工作工资 每小时50元,月工作时间少于100小时的扣 1000元,月工作时间超过160小时的,超过部 分加发50%的工资;设计一程序输入某员工的 职工号及工作时间计算该员工的工资。
29
3. 多分支结构
在VBA中,使用情况语句实现多路分支程序设计, 比用If语句更为简单和结构清晰。其一般格式为: Select Case〈测试表达式〉 Case〈表达式表列1〉 T 条件1 语句块1 〈语句块1〉] F T [Case〈表达式表列2〉 条件2 语句块2 F 〈语句块2〉] … T 条件n 语句块n [Case Else F 〈语句块n+1〉] 语句块n+1 End Select
(1)通过事件过程启动
(2)通过模块对象启动 (3)通过菜单启动 单击【工具】|【宏】|【Visual Basic编辑器】菜单命令
9
2.认识VBE窗口
标准工具栏
工程资源管理器窗口
代码窗口
属性窗口
10
属性窗口
对象框
工程资源管理器窗口
属性列表
11
代码窗口
对象下拉 列表框
过程下拉 列表框
代码框
12
8.1.3 基本数据类型
而VBA其编程环境和VBA程序都必须依赖Office 应用程序(如Access、Word、Excel等)。
3
8.1.1 面向对象程序设计基本概念 1. 对象和类
(1)对象 在面向对象的程序设计中,对象是基本元素。 在VBA中进行程序设计时,界面上的所有事物都可 以被称为对象 (2)对象的属性 属性就是对象的物理性质、特征 属性值可以在创建对象时设置,也可以在执行 程序时通过命令的方式修改,其引用方式为:对象 名.属性名称
13
8.1.4 常量、变量与数组
1.常量
常量是指不变的数据。VBA支持4 种类型 的常量:直接常量、符号常量、固有常量和系 统定义常量。
14
符号常量
符号常量定义的格式为: Const <常量名> [ as <数据类型>]=<数据> [,...] 说明:格式中尖括号部分为必填内容,中 括号部分为选填内容,[,…]表示之前部分可 重复。 例如: Const PI=3.1415926 dayHours as Byte=10
Command1.Move , 在命令按钮上单击鼠标时会触发“单击”事件,其事 件过程引用格式为: Command1_Click()。
6
(5)类 类是对一组相似对象的性质描述。这些对象具 有相同的性质、相同种类的属性以及方法。类是对 象的抽象,而对象是类的具体实例。 (6)DoCmd对象 DoCmd对象的主要功能是通过调用Access内置的 方法,在VBA中实现某些特定的操作。 例如,利用DoCmd对象的OpenForm方法打开 “教师信息维护”窗体,语句格式为: DoCmd.OpenForm ”教师信息维护”
19
8.1.5 运算符与表达式
表达式 表达式是由常量、变量、函数、运算符和圆括号等 构成。 VBA提供了丰富的运算符,其中包括算术运算符、 连接运算符、比较运算符和逻辑运算符等。 参与运算的数据被称作操作数。 运算符和操作数据构成表达式。
20
8.1.6 常用标准函数
函数是VBA内置的具有某种功能的特殊程序。它 就象一只黑匣子,接收外部输入的数据并向 外部返回一个处理结果。函数的使用格式为: 函数名(参数 [,…] ) 如:Right(“abcdef”,2) 下面的函数功能恰好与它相反。 如:Left("山东交通学院",2)
35
8.2.3 循环语句
2.For-Next循环
For <循环变量>=<初值> to <终值> [step<步长 >] [<循环体>] [Exit for] Next[<循环变量>]
15
3.变量
变量是被命名的内存区域,用以临时保存程序运行 过程中需要的数据。 变量的命名规则: 以字母或汉字开头,后跟字母、汉字、数字或下划线 组成的序列,长度不能超过255个字符 不能使用VB中的关键字 不区分常量或变量名中的大小写字母 显式声明变量 Dim <变量名>[ As <数据类型>] [,…] 格式中Dim是一个VBA命令,此处用于定义变量;As 是关键字,此处用于指定变量的数据类型。
18
动态数组(略)
在定义数组时不指定下标,而在程序运行需要时再指 定,即数组元素的数量是可动态改变的,这种数组被称 作动态数组。 假定我们想用数组sAges存储某班级学生的年龄,由 于各班级的学生数量可能不同,因此我们在定义数组时 不便指定数组大小,当班级学生数量确定后我们再指定 数组的大小(即数组下标范围)。 注意:在定义常量、变量或数组时,如果未指定变量类型, 系统默认为Variant型数据。
23
8.2
VBA的流程控制
8.2.1 顺序控制
24
8.2.2 条件语句
1. 单行结构条件语句
格式:If〈条件〉Then〈语句1〉[Else〈语句2〉] end if 功能:如果“条件”成立(其值 False 为True或为非0值),则执行“语 条件 句1”,否则,执行“语句2”。 True
语句1 语句2
s=pi*r^2
debug.print “面积为:”,s End sub 练习:输入长方形的长和宽,计算其面积 ?
22
VBA语法基础
按照功能不同,VBA语句可以分成三大类: ◆声明语句:如用于变量、符号常量或程序定义的语句; ◆执行语句:如赋值、程序调用和实现流程控制的语句等; ◆注释语句:主要用于为命令行或程序块进行注解说明,此 类语句在程序运行过程中不会产生任何效果(它不会被 执行),但在程序设计过程中适当地使用注释语句有利 于提高程序的可读性。 VBA注释语句既可以单独放置在一行内,也可以放 置在某个语句尾部。
30
8.2.3 循环语句
输出5次“ok”? 输出20次”ok”?
31
8.2.3 循环语句
1.Do…Loop循环
格式1: Do while 条件 [<循环体>] [Exit Do] Loop
32
8.2.3 循环语句
输出5次ok? Public Sub ok() Dim n As Integer n=1 Do While n <= 5 Debug.Print "ok", n n=n+1 Loop End Sub
21
8.1.7 输入输出函数和过程
VBA与用户之间的直接交互是通过InputBox()函数、MsgBox()函数和 MsgBox过程进行的
例:输入圆的半径,然后计算圆的面积。 Public sub mj() const pi=3.1415926 dim r as integer dim s as double r=inputbox(“请输入半径:”)
数据类型 字符型 关键字 类型符 占字节数 取值范围 与字符串 定长字符串:0~65535个字符 数据是程序处理的对象,是程序的必要组成部分。 String $ 长度有关 变长字符串:0~20亿个字符 不同类型数据的操作方式和取值范围不同,所占存储空 字节型 Byte 无 1 0~255 间的大小也不同。VBA提供了系统定义的标准数据类型, 整型 Integer % 2 -32768~32767 并允许用户根据需要定义自己的数据类型。 长整型 Long & 4 -2147483648~2147483647 单精度型 Single ! 4 负数:-3.402823E38~-1.401298E-45 正数:1.401298E-45~3.402823E38 负数:-1.79769313486231E308~ -4.94065645841247E-324 正数:4.94065645841247E-324~ 1.79769313486232E308