MICROSOFT

EP01. “CurrentRegion 当前数据区域”

首页 Microsoft 工具 Excel · VBA · Range Object · EP01
约 3 分钟· #EP01#Excel#Range Object
🔒 登录后可标记已读
  • CurrentRegion 属性能自动抓出某个单元格所在的「连续数据区域」
  • 区域边界是任何空白行/空白列,不用手动写死范围地址
  • 前置知识不需要,是 Range Object 系列的入门篇
  • 后面很多篇(Dynamic Range、Sort a Range)都会用到它

重点内容


适用版本

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


基础用法

Range("A1").CurrentRegion.Select

自动选中 A1 所在的连续数据区块。


空白行/列会截断区域

Range("B3").CurrentRegion.Select

如果 B3 上方隔着一个空白行(例如第 2 行是空的),那么第 1 行的数据不会被算进 B3 的 CurrentRegion 里——因为空白行把区域切断了。

📌 核心规则:CurrentRegion 是「被任意组合的空白行和空白列包围起来」的范围,不管数据实际有多少行多少列,都会自动适应。


学完你会

  • ✅ 用 CurrentRegion 自动抓出连续数据区域,不用手动写死范围地址
  • ✅ 判断空白行/空白列会怎么截断 CurrentRegion 的范围
  • ✅ 看懂后面 Dynamic Range、Sort a Range 篇章为什么会用到 CurrentRegion

常见错误

  • 数据中间不小心留了空白行/列,导致 CurrentRegion 只抓到部分数据,另一半被当成不同区域
  • 以为 CurrentRegion 会抓到整张工作表的数据,其实只会抓到跟起始单元格连续相邻的那一块
  • 拿 CurrentRegion 处理数据前,没有先确认数据本身有没有意外的空行/空列

Sources

Blog / Website:

  1. CurrentRegion