8、[VBA入门到放弃笔记] do.......loop循环

  • VBA的循环除了For还有do...loop循环结构。两者的区别是:
  • For循环内置一个计数器,在执行每次循环后自动增加。如。For i = 1 to 5,每次循环 i 都会加1,直到 i >5(预设值)循环终止。
  • DO循环则需要指定逻辑条件才能退出循环,如果忘记指定退出条件,则会一直循环下去,直到消耗完电脑资源。快捷键Ctrl+Break可终止程序。


    8、[VBA入门到放弃笔记] do.......loop循环_第1张图片
  • do...while...loop
Sub do是怎么运行的()
    Dim i As Integer
    i = 1
    Do While Range("a" & i) <> "" '当A列单元格不为空时,执行循环,否则退出循环
        Range("a" & i).Interior.ColorIndex = 6 '设背景色
        i = i + 2 '可以相当于步长
    Loop
End Sub
  • do...until...loop
Sub do是怎么运行的1()
    Dim i As Integer
    i = 1
    Do Until Range("a" & i) = "" '执行循环,直到A列单元格为空退出
        Range("a" & i).Interior.ColorIndex = 6 '设背景色
        i = i + 2 '可以相当于步长
    Loop
End Sub
  • 上面两个代码结果是一样的,不同的是while和until的退出循环的条件相反。while和until除了放在do后面,还可以放在loop后面。
Sub do是怎么运行的2()
    Dim i As Integer
    i = 1
    Do
        Range("a" & i).Interior.ColorIndex = 6 '设背景色
        i = i + 2 '可以相当于步长
    Loop Until Range("a" & i) = "" '执行循环,直到A列单元格为空退出
End Sub
Sub do是怎么运行的3()
    Dim i As Integer
    i = 1
    Do
        Range("a" & i).Interior.ColorIndex = 6 '设背景色
        i = i + 2 '可以相当于步长
    Loop While Range("a" & i) <> "" '当A列单元格不为空,执行循环操作,遇到空单元格则退出循环
End Sub
  • 改为For循环如下
Sub 改为FOR()
    Dim i As Integer
    For i = 1 To 18 Step 2
        Range("a" & i).Interior.ColorIndex = 6 '设背景色
    Next
End Sub

你可能感兴趣的:(8、[VBA入门到放弃笔记] do.......loop循环)