'[执行的一条或多条语句] '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.do…loop+if…then+exit do通常结合使用
'4。如果exit do使用在嵌套的do…loop语句中,则exit do会将控制权转移到exit do所在位置的外层循环。 Sub test() Dim a% Do a = a + 1
If a > 5 Then
MsgBox a & \终于大于5了!\ Exit Do End If Loop End Sub
Sub test2() '注意这是一个死循环,按f8运行(中止死循环,ctrl+暂停键) Do b = b + 1 Do
a = a + 1
If a > 3 Then MsgBox \即将跳出内层循环\ Loop
MsgBox \即将进行外层循环\Loop End Sub
1-19 循环语句之for each next
当需要处理集合成员时,一般会用for each…next,实际上就是处理对象。 Sub foreachnext()
Dim rng As Range, wsh As Worksheet, n As Byte
For Each rng In Sheets(1).Range(\ If rng = \Next
For Each wsh In Worksheets n = n + 1
Sheets(1).Cells(n, 3) = wsh.Name Next End Sub
1-20 循环语句之for…next
'for…next也是循环语句,与之前的do…loop不同之处在于,for next又一个内置的计数器 Sub fornext循环() Dim i!, j! For i = 1 To 100 j = j + i Next MsgBox j End Sub Sub fornextxh() Dim rng! For rng = 2 To 10 Sheets(1).Cells(rng,
3)
=
Sheets(1).Cells(rng,
1)
*
Sheets(1).Cells(rng, 2) Next End Sub
1-21 for…next小结与实例 'for…next语句
'以指定次数来重复执行一组语句 '语法:
'for 计数变量=初始值 to 终止值 [step 步长值] '[执行的一条或多条语句] '[exit for]
'[执行的一条或多条语句] 'next [计数变量]可以忽略不写
'1.循环中可以在任何位置放置任意个exit for语句,随时退出循环
'2.exit for与if…then经常一起使用,目的是:找到符合条件后,跳出循环,而不必再进行不必要的循环 Sub test3() For i = 1 To 16
If Cells(i, 1) = \班\Next For j = 1 To 16
If Cells(j, 1) = \班\
相关推荐: