MICROSOFT

EP06. “From Active Cell to Last Entry 选到最后一笔数据”

首页 Microsoft 工具 Excel · VBA · Range Object · EP06
约 3 分钟· #EP06#Excel#Range Object
🔒 登录后可标记已读
  • End 属性能模拟键盘上 End + 方向键 的效果
  • 直接跳到某一列(或行)里最后一笔有数据的位置
  • 适合处理「数据笔数会一直增加」的表格,不用手动改范围
  • 前置知识不需要

重点内容


适用版本

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


选到最后一笔数据

Range("A5").End(xlDown).Select

等同于选中 A5 后按 End 再按方向键往下,直接跳到 A 列最后一笔有数据的单元格。


选取从某格到最后一笔数据的整段范围

Range(Range("A5"), Range("A5").End(xlDown)).Select

把 A5 到最后一笔数据之间的所有格子都选起来。


从当前选中的单元格开始选到最后一笔

Range(ActiveCell, ActiveCell.End(xlDown)).Select

不写死起点是哪一格,改用 ActiveCell,不管使用者当下选中哪一格,都能选到那一列最后一笔数据。

📌 xlDown 是往下找,其他方向也有对应的常数:xlUp(往上)、xlToRight(往右)、xlToLeft(往左)。


学完你会

  • ✅ 用 End(xlDown) 抓到某一列最后一笔有数据的单元格
  • ✅ 搭配 ActiveCell 写出不依赖固定起点的动态选取范围
  • ✅ 知道数据中间有空白格时 End 会提前停下,不会一路跳到真正最后一笔

常见错误

  • 中间的数据如果有空白格,End(xlDown) 会在空白格前面就停下来,不会一路跳到真正的最后一笔
  • xlDown/xlUp/xlToRight/xlToLeft 这几个方向常数搞混,选取范围跑错方向
  • 起点单元格写死成固定地址,数据结构变动后忘记同步更新

Sources

Blog / Website:

  1. From Active Cell to Last Entry