Microsoft Lab
Excel / Do Until Loop Do Until 循环
Loop第 3 课

Do Until Loop Do Until 循环

⏱ 6 分钟🔵 进阶先学过:EP02 Loop through Entire Column

不知道要跑几次,只知道什么时候要停

不知道要循环几次,只知道「到某个条件成立就停」。例如从第 1 行填到第 6 行就停。

Do Until 是什么

Do Until直到…才停

条件还没成立就继续做,成立了就停。

循环适合备注
For ... Next知道要跑几次计数器自动加
Do While ... Loop条件成立时继续一开始不成立,一次都不跑
Do Until ... Loop条件成立就停跟 Do While 方向相反,别搞混

用 Do Until 填到第 6 行就停

Dim i As Integer
i = 1
Do Until i > 6
    Cells(i, 1).Value = 20
    i = i + 1
Loop
  1. i = 1:从 1 开始。
  2. Do Until i > 6:只要 i 还没大于 6,就一直做。
  3. Cells(i, 1).Value = 20:第 i 行第 1 列设成 20。
  4. i = i + 1:自己把 i 加 1。Do Until 不像 For,不会自动加。
  5. Loop:回到 Do Until 再判断一次。
  1. 1

    按 Alt+F11 → Insert → Module,把代码放进一个 Sub,运行

    i 从 1 到 6,A1 到 A6 都被填上 20。到 i 变 7(大于 6)就停。

    A
    120
    220
    320
    420
    520
    620

❌ 忘了 i = i + 1:i 永远是 1,循环永远不会停,Excel 卡住。卡住时按 Ctrl + Break 中断。

❌ Do While 和 Do Until 搞反:条件写反,结果一次都不跑或跑不停。

为什么次数不固定时要用 Do 不用 For

✅ 不知道要跑几次,用 Do 比 For 灵活。

📌 写之前问自己:「是条件成立时继续,还是成立时停?」

Sources

Blog / Website:

  1. Do Until Loop
VBA · Loop · 第 3 课 ← Loop through Entire Column Debugging →