You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VBA获取Excel工作表最后一行行号并在其下方粘贴数据?

自动获取Excel工作表指定列最后一行行号的VBA代码

核心代码(针对你的B列需求)

要自动获取工作表CICLICO中第2列(B列)的最后一行数据行号并赋值给LastRow,可以用以下可靠的方法:

Dim ws As Worksheet
Dim LastRow As Long

' 直接绑定目标工作表,避免因切换工作表导致错误
Set ws = ActiveWorkbook.Sheets("CICLICO")

' 从B列最后一行向上查找首个非空单元格,获取其行号
LastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

整合到你的定位逻辑

把上面的代码和你现有的定位代码结合,完整示例如下:

Sub PasteToNextRow()
    Dim ws As Worksheet
    Dim LastRow As Long
    
    Set ws = ActiveWorkbook.Sheets("CICLICO")
    LastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
    
    ' 定位到B列最后一行的下一行,准备粘贴
    Application.Goto ws.Cells(LastRow + 1, 2)
End Sub

关键说明

  • 这个方法适用于B列有数据或完全为空的场景:如果B列是空的,LastRow会返回1,定位到第2行,符合常规粘贴起始位置需求。
  • 避免依赖ActiveSheet,直接绑定工作表对象ws能让代码更稳定,不会因手动切换工作表而出错。
  • 如果需要获取整个工作表的最后一行(而非指定列),可以用ws.UsedRange.Rows.Count,但这种方法可能包含空行,不如指定列的xlUp方法可靠。

内容的提问来源于stack exchange,提问作者Lucas Tezolini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:40:22