Sub过程、判断与循环语句结构
标签:
杂谈 |
Sub过程、判断与循环语句结构
一
大部分的VBA代码都会保护在过程中。可以在VBE中访问这些VBA模块,一个模块可以保护任意数量的过程。过程可以是任意长度,但是为了可纠错和便于理解,往往通过分成几个更小的过程来完成。
l
l
l
二
录制宏就是一个简单的Sub代码。使用录制宏功能只能产生Sub过程的代码。这些代码可能就会比较繁琐,影响运行速度,因此编辑快速简洁的代码就显得比较重要了。
1、Sub关键字声明的语法格式:
[Public I Private][Static]sub过程名称([参数1,参数2…..])
|
部分 |
描述 |
|
Public |
可选的。表示所有模块的所有其它过程都可访问这个 Sub 过程。 如果在包含 Option Private 的模块中使用,则这个过程在该工程外是不可使用的。 |
|
Private |
可选的。表示只有在包含其声明的模块中的其它过程可以访问该 Sub 过程。 |
|
Friend |
|
|
Static |
可选的。表示在调用之间保留 Sub 过程的局部变量的值。Static 属性对在 Sub 外声明的变量不会产生影响,即使过程中也使用了这些变量。 |
|
过程名 |
必需的。Sub 的名称;遵循标准的变量命名约定。 |
|
参数1…… |
可选的。代表在调用时要传递给 Sub 过程的参数的变量列表。多个变量则用逗号隔开。 |
|
语句块 |
可选的。Sub 过程中所执行的任何语句组。 |
2、从过程中执行另一个过程的方法:
1)
例:Sub Mysub1()
End Sub
2)
例:Sub Mysub1()
End Sub
3)
例:Sub Mysub1()
End Sub
三
1
1)
If 逻辑表达式 Then
语句块
End If
理解:如果逻辑表达式成立,执行相应语句块,否则执行End If的下一句。
2)
If 逻辑表达式1 Then
语句块1
Elseif
……
……
End If
理解:多条件判断,如果逻辑表达式1成立执行语句块1,然后End If;如果逻辑表达式1不成立,则执行逻辑表达式2,……直至End If。
3)
Select Case 测试表达式
Case 表达式1
Case 表达式2
…………
…………
End Select
理解:Select Case是多条件判断的一种格式,它与If……Then……Elseif类似,但它的结构清晰更易于阅读及调试。
其他说明:
a)
b)
Case 1,2,3,4
Case 1 to 4
Case Is<4;
c)
2
(注:符合“[]”内容为可选。“Debug.Print 变量”可以用来在立即窗口查看语句运行结构。)
1)
For
循环变量
=初值
To
终值
[Step步长]
理解:其中初值、终值、步长都是数值表达式。循环变量也成循环控制变量,它的两个作用是,一是控制循环运行次数;二是用来为循环中的变量或属性赋值。
2)
For Each
元素变量 In
集合
[Exit For]
语句块
Next [元素变量]
理解:在不确定循环次数的情况下,无法应用计数循环。此时就可以使用For Each ……In……Next循环来遍历集合。
3)
开头判断循环条件:根据条件决定是否执行循环体,也可能一次也不执行。
Do [While 循环条件]
[Exit Do]
Loop
结尾判断循环条件:先执行循环体,然后判断条件,根据条件决定是否继续执行循环体,因此至少执行1次。
Do
[Exit Do]
Loop [While 循环条件]

加载中…