EP04. “Use Relative References 使用相对引用”
🔒 登录后可标记已读- 宏录制器默认用「绝对模式」录制,不管运行前选中哪个单元格,结果永远填回录制时的那几格
- 切到「相对模式」,录出来的宏就会改成"以你当前选中的单元格为起点"往下填,同一个宏能套用在工作表不同位置
- 差别只在录制前有没有点亮 Use Relative References,操作步骤本身完全一样
- 前置知识:EP03 的录制流程
- 学完能看懂两种模式录出来的差别,知道该在录制前切哪个开关
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
绝对模式(默认)
- Developer → Record Macro
- 选中单元格 B3,输入 "Sales",按 Enter
- 输入 "Production",按 Enter
- 输入 "Logistics",按 Enter
- Developer → Stop Recording
- 清空 Range("B3:B5") 的内容
- 选中任意一个单元格,运行这个宏
结果:不管运行前选的是哪个单元格,这三个词永远乖乖填回 B3、B4、B5——这就是绝对模式的特性,结果一成不变。
相对模式
- Developer → 点击 "Use Relative References"(切换成相对模式,图示会变成选中状态)
[截图:Developer 标签下 Use Relative References 按钮,点亮(选中状态)和未点亮时的外观差异]
- 选中任意单元格(例如 B8)
- Developer → Record Macro
- 输入 "Sales",按 Enter
- 输入 "Production",按 Enter
- 输入 "Logistics",按 Enter
- Developer → Stop Recording
- 选中其他单元格(例如 D4),运行这个宏
结果:这三个词改成跟着"运行前选中的那个单元格"往下填,不再死守 B3:B5 那三格。
方法怎么选
| 模式 | 适合场景 | 备注 |
|---|---|---|
| 绝对模式(默认) | 每次都要填在同样固定的位置 | 不管运行前选中哪个单元格,结果永远一样 |
| 相对模式 | 想在工作表不同位置重复套用同一个宏 | 录制前要先点亮 Use Relative References |
代码怎么运行
两种模式都是先录制、再透过 Developer → Macros → Run 执行,不需要手动写代码;差别只在录制前有没有点开 "Use Relative References"。
学完你会
- ✅ 分清楚绝对模式和相对模式录出来的宏有什么不同
- ✅ 会在录制前切换 Use Relative References
- ✅ 懂得根据场景选对该用哪种模式录制
常见错误
- 录制前忘记检查 "Use Relative References" 是否已经点亮(切换成相对模式),导致以为录的是相对模式,结果还是绝对模式
- 用相对模式录好的宏,再切回绝对模式继续录别的宏,忘记切换会互相搞混两种行为
Sources
Blog / Website: