|
1-11.IF语句小结
1.单行形式1(If...Then)
If 条件判断 then 条件成立结果
注意 在单行形式中,按照 If...Then 判断的结果也可以执行多条语句。所有语句必须在同一行上并且以冒号分开。
例子:
Sub test()
If A > 10 Then A = A + 1 : B = B + A : C = C + B
End Sub
2. 单行形式1(If 条件判断 Then 条件成立 Else 条件不成立)
例子:
Sub test()
If 2 > 1 Then MsgBox "yes" Else MsgBox "no"
End Sub
3.块形式(If...Then…End)
If 条件判断 Then
条件成立结果
End If
例子:
If A > 10 Then
A = A + 1
B = B + A
C = C + B
End If
4.块形式的嵌套
If 条件判断 Then
条件成立时的结果
ElseIf条件判断 Then
条件成立时的结果
……
Else
条件不成立时的结果
End If
例子:
Sub 等级判断()
If Sheet1.Range("b1") >= 90 Then
Sheet1.Range("b2") = "优"
ElseIf Sheet1.Range("b1") >= 80 Then
Sheet1.Range("b2") = "良"
ElseIf Sheet1.Range("b1") >= 70 Then
Sheet1.Range("b2") = "中"
Else
Sheet1.Range("b2") = "差"
End If
End Sub
1-18B.DO...LOOP 语法小结
Do [{While | Until} 表达式]
[执行的一条或多条语句]
[Exit Do]
[[执行的一条或多条语句]
Loop
while:当这个条件为True时就 循环
until:直到这个条件为True时就 跳出循环
或者可以使用下面这种语法:
Do
[执行的一条或多条语句]
[Exit Do]
[执行的一条或多条语句]
Loop [{While | Until}表达式]
用Do…Loop循环要注意的几点:
1. While与Until是放在Do后面还是Loop后面,取决于是先判断再循环,还是先循环再判断。前者则在Do后面,后者则在Loop后面。
2. 可以在Do...Loop中的任何位置放置任意个数的 Exit Do 语句,随时跳出 Do...Loop 循环。
3. Exit Do ,Do...Loop,If...Then通常结合使用.
4. 如果 Exit Do 使用在嵌套的 Do...Loop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。
Sub test()
Dim a%
Do
a = a + 1
If a > 10 Then
MsgBox a & "终于大于10"
Exit Do
End If
Loop
End Sub
Sub Test2()'注意这是一个死循环,按F8运行(中止死循环:ctrl+暂停键)
Do
b = b + 1
Do
a = a + 1
If a > 3 Then MsgBox "即将跳出内层循环": Exit Do
Loop
MsgBox "即将进行外层循环"
Loop
End Sub
1-19.循环语句之FOR EACH NEXT
For Each...Next 语句
注释:针对一个数组或集合中的每个元素,重复执行一组语句。
语法结构:
For Each 遍历集合或数组中所有元素的变量 In 对象集合或数组的名称
[执行的一条或多条语句]
[Exit For]
[执行的一条或多条语句]
Next
注意:For Each在集合对象或数组元素循环完后,就退出来循环。
1-20B.For...NEXT小结与实例
For...Next 语句
以指定次数来重复执行一组语句。
语法
For 计数变量 = 初始值 To 终止值 [Step 步长值]
[执行的一条或多条语句]
[Exit For]
[执行的一条或多条语句]
Next [计数变量]可以忽略不写
1.循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。
2.Exit For与 If...Then经常一起使用,目的是:找到符合条件后,跳出循环,而不必再进行不必要的循环。
例子:
3.可以将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环。
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
|
|