Excel开发(VBA)— 快速定位最后有记录的行

  有时候,在进行Excel开发时,需要知道某列的最后一行的行号。Excel也提供了相关功能:Range.End属性。



    Dim strCell As String
    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+ 向下键、End+ 向左键或 End+ 向右键。 Range 对象,只读。

语法

表达式.End(Direction)

表达式   一个代表 Range 对象的变量。

参数

名称必选/可选数据类型描述
Direction必选XlDirection所要移至的方向。

示例

本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。

Visual Basic for Applications
Range("B4").End(xlUp).Select

本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。

Visual Basic for Applications
Range("B4").End(xlToRight).Select

本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。

Visual Basic for Applications
Worksheets("Sheet1").Activate
Range("B4", Range("B4").End(xlToRight)).Select

指定移动的方向。

版本信息
 已添加版本:
  Excel 2007

                 名称                           值                    描   述                
xlDown-4121向下。
xlToLeft-4159向左。
xlToRight-4161向右。
xlUp-4162向上。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值