Excel VBA 获取最后一行与最后一列:原理与稳定写法

通过 | 27 12 月, 2025

在使用 Excel VBA 进行数据处理时,获取“最后一行”和“最后一列”几乎是最基础、也是最容易出错的操作之一。很多代码在测试时运行正常,但一旦数据结构变化、存在空行或隐藏列,就会出现定位错误,影响后续逻辑的稳定性。问题并不在于语法本身,而在于对 Excel 数据边界规则理解不足。

本文并不是 VBA 语法速查表,而是从数据边界识别与代码稳定性的角度,系统分析获取最后一行与最后一列的实现原理。通过对常见写法的对比,帮助读者判断:在不同数据场景下,哪种方式更可靠,如何避免“看似能跑、实则不稳”的代码陷阱。

用Excel VBA判断数据最后一行或者列的函数
Function LastColumn() As Long
Dim ix As Long
ix = ActiveSheet.UsedRange.Column – 1 + ActiveSheet.UsedRange.Columns.Count
LastColumn = ix
End Function

判断最后一行的函数
Function LastRow() As Long
Dim ix As Long
ix = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count
LastRow = ix
End Function