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

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


  • 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 13,777评论 1 20
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,783评论 0 33
  • 第一章 VBA是什么 Visual Basic Application 一个Excel文件就是一个工作簿(Work...
    PyJack阅读 1,860评论 0 2
  • 可以通过在属性窗口设置名称来给对象重新命名,名字可以由字母、汉字(2字符)、数字以及下划线组成,但必须以字母或汉字...
    重头再来0706阅读 2,219评论 0 1
  • 即使明天是世界末日 我们一样穿着得体 这是一种人生态度。 张伟 “你还别说,我在江州找到了我远房叔叔的表姑的外甥的...
    小丑鱼boy阅读 1,099评论 0 3