ExcelHome VBA 培训

ExcelHome VBA 培训
ExcelHome VBA 培训

ExcelHome VBA 培训

教师:ggsmart(叶枫)

本课内容:sub过程与程序流程控制语句

第一部分:Sub过程

什么是过程:

1、一个过程就是一组完成所需操作的VBA代码的组合。

2、VBA的过程主要包括“Sub过程”和“Function过程”(自定义函数)两种。

3、Sub过程不可以返回值,Function过程可以返回值。

声明Sub过程:

1、录制的“宏”就是一个简单的Sub过程,使用录制宏功能只能生成Sub过程的代码。

2、Sub过程的特点:以“Sub过程名()”开头,以“End Sub”结尾;Sub过程一般保存在模块里;不返回运行结果。

3、声明Sub过程:

[Public/Private][Static] Sub过程名称(参数1,参数2……..)--------public/private两个参数二选一public表明公共过程,一个工作簿所有模块的过程都可以访问这个过程;private声明为私有过程,只有同模块的过程才能访问这一过程;static表明过程结束后保存过程中的变量;sub 过程名称表明过程的开始;(参数1,参数2,…….)表明一系列的变量,过程没有参数就必须有空的括号

【语句块】

【Exit Sub】----在过程结束前,强制过程结束

【语句块】

End Sub----表示过程的结束

如果没有选择public/private就默认为公共过程,也就是相当选择了public参数。在VBA里所有可执行代码都必须属于某个过程,不能在过程里再定义过程。一个过程不限定过程的行数,它可以有一行、数百甚至数千行…..,但是随着过程行数的增加,错误也会增加。因此过长的代码可以分成几个子过程。创建一些小型过程而不是一个大过程是一个非常好的编程习惯。

4、从过程执行另一个过程:输入过程名称以及参数,参数用逗号隔开。——过程名[,参数1,参数2,…..],如果过程没有参数就可不要输入参数;在过程名以及参数前使用Call关键字,参数用括号括起来,并用逗号隔开。——call过程名[(参数1,参数2,……..)];利用application对象的run方法——application.run 表示过程名的字符串(或字符串变量)[,参数1,参数2,……]

第二部分:判断与循环语句

程序流程控制:if语句、do while循环语句、select case语句、do until循环语句、for循环语句

1、if语句:根据条件判断的不同结果来执行不同操作。语句形式——

If 逻辑表达式then

[else

语句块2]——可选

End if

流程图——

逻辑表达式值是否为真

Y

语句块

N

多条件判断语句——

If逻辑表达式then

[elseif 逻辑表达式2 then

语句块2

Elseif逻辑表达式3 then

语句块3

……..

Else

语句块n]

End if

IF语句可以嵌套。

2、select case语句

语法形式——

Select case 测试表达式——测试表达式必须为数值表达式或字符串表达式

Case 表达式列表1——表达式列表可以是用逗号分开的表达式,也可以使用to或关键字,如:case 1,2,3,4\case 1 to4\case is <4

Case表达式列表2

语句块2

Case表达式列表3 case语句后面可以用不用多重表达式,各表达式的数据类型可以不相同,它们之间是“逻辑或”的关系,如:case 1 to 4,”a”

语句块3

……….

[case else

语句块n+1]

End select

3、for----next 循环语句

For 循环变量= 初值to 终值[step步长]

循环体

[exit for]

循环体

Next 循环变量

流程图——

循环变量初始化

循环体

循环变量=循环变量+步长

循环语句结束

Y

循环变量<=(>=)终值

N

for each------next 循环语句:

Fore 元素变量in 对象集合

语句块

[exif for]

语句块

Next [元素变量]

4、Do while循环语句:

1、开头判断循环条件

Do[while循环条件]

循环体

[exit do]

循环体

Loop

2、结尾判断循环条件

Do

循环体

[exit do]

Loop [while 循环条件]

第二种比第一种多执行一次循环部分的语句。

5、Do until循环语句:

1、开头判断循环条件

Do [until 循环条件]

循环体

[exit do]

循环体

Loop

2、结尾判断循环条件

Do

循环体

[exit do]

循环体

Loop [until 循环条件]

直到循环条件为真时退出循环,这是do until与do while的区别。

相关主题
相关文档
最新文档