有时候,在进行Excel开发时,需要知道某列的最后一行的行号。Excel也提供了相关功能:Range.End属性。
Dim nLastUseRow As Long
Dim nLastRcdRow As Long
Dim Rng As Range
'为最后一个单元格所在行 , 即最后一行,该函数表示Sheet表的使用区域中的最后一行
nLastUseRow = Cells.SpecialCells(xlCellTypeLastCell).Row
' 得到A列单元格的最后一行
strCell = "A" + CStr(nLastUseRow + 1)
Set Rng = Range(strCell).End(xlUp)
返回一个
Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。
Range 对象,只读。
指定移动的方向。
Dim nLastUseRow As Long
Dim nLastRcdRow As Long
Dim Rng As Range
'为最后一个单元格所在行 , 即最后一行,该函数表示Sheet表的使用区域中的最后一行
nLastUseRow = Cells.SpecialCells(xlCellTypeLastCell).Row
' 得到A列单元格的最后一行
strCell = "A" + CStr(nLastUseRow + 1)
Set Rng = Range(strCell).End(xlUp)
nLastRcdRow = Rng.Row' 得到行号
需要说明的是:Cells.SpecialCells(xlCellTypeLastCell).Row 指的是使用区域最后一行,并不是最后有文本单元格的一行。
比如:开始我用了100行,随后我又删除了50行,则Cells.SpecialCells(xlCellTypeLastCell).Row = 100。
当然,如果你保存了文件,则Cells.SpecialCells(xlCellTypeLastCell).Row = 50 了。
所以,可以通过联合Range.End属性实现快速定位到最后一个单元格上。
具体帮助说明:(Excel Help)
Range.End 属性 |
语法
表达式.End(Direction)
表达式 一个代表 Range 对象的变量。
参数
名称 | 必选/可选 | 数据类型 | 描述 |
---|---|---|---|
Direction | 必选 | XlDirection | 所要移至的方向。 |
示例
本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。
Visual Basic for Applications |
---|
|
本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。
Visual Basic for Applications |
---|
|
本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。
Visual Basic for Applications |
---|
|
XlDirection 枚举 |
版本信息
已添加版本: Excel 2007
名称 | 值 | 描 述 |
---|---|---|
xlDown | -4121 | 向下。 |
xlToLeft | -4159 | 向左。 |
xlToRight | -4161 | 向右。 |
xlUp | -4162 | 向上。 |