MICROSOFT

EP04. “Step Keyword Step 关键字”

首页 Microsoft 工具 Excel · VBA · Loop · EP04
约 4 分钟· #EP04#Excel#Loop
🔒 登录后可标记已读
  • For 循环默认每次把计数器加 1,用 Step 关键字可以自定义每次递增(或递减)的幅度
  • 包括负数步长(倒着数)
  • 前置知识:基本的 For ... Next 循环
  • 学完能写出「每隔几个」「倒序」这类循环,是 EP05「创建图案」等后续笔记的基础

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


方法怎么选

步长写法适合场景备注
Step 正数(如 Step 2从小到大、每隔几个取一次起始值要比结束值小
Step 负数(如 Step -1从大到小倒序处理起始值要比结束值大,方向跟数字符号要配合,否则循环体一次都不会执行

正向步长

每次循环让计数器增加 2,而不是默认的 1:

Dim i As Integer

For i = 1 To 6 Step 2
    Cells(i, 1).Value = 100
Next i

i 依序是 1、3、5(下一步会是 7,超过 6 所以停止),所以只在第 1、3、5 行的 A 列写入 100,循环总共执行 3 次。


负向步长

Step 后面接负数,可以让计数器往下数:

Dim j As Integer

For j = 8 To 3 Step -1
    Cells(6, j).Value = 50
Next j

j 从 8 开始,每次减 1,依序是 8、7、6、5、4、3,在第 6 行、第 8 到第 3 列(倒着数)依次写入 50,循环执行 6 次。


怎么运行

Alt + F11 打开 VBA 编辑器,把代码放进按钮点击事件,按 F5 或点命令按钮执行,会分别看到「正向间隔填值」和「倒序填值」两种效果。


学完你会

  • ✅ 用 Step 自定义循环每次递增的幅度
  • ✅ 用负数步长写出倒序循环
  • ✅ 知道步长正负号要跟起止值的方向配合,否则循环不会执行

常见错误

  • 用负数步长(倒序)时,起始值和结束值也要跟着换方向写(For j = 8 To 3 Step -1,起点比终点大),如果照正向习惯写成 For j = 3 To 8 Step -1,循环条件一开始就不成立,循环体一次都不会执行
  • 步长设成 0 会导致计数器永远不变化,变成无限循环
  • 步长的正负号一定要跟"从大到小"还是"从小到大"的方向配合,方向和步长符号对不上,循环同样一次都不会执行

Sources

Blog / Website:

  1. Step Keyword