EP04. “Step Keyword Step 关键字”
🔒 登录后可标记已读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: