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

如何用VBA代码选中Excel表格最后10行数据?

解决方法:选中ListObject最后10行数据行

问题分析

你的代码存在几个关键问题:

  • tblBAZA.Resize(LR, LC).Select 完全多余,且Resize方法的参数是设置表格的新尺寸,此处逻辑无效
  • tblBAZA.Range(LR, 1) 的引用方式错误,ListObject的Range属性不能直接用这种参数格式定位范围
  • 未处理表格数据行不足10行的边界情况

正确代码实现

以下代码可自动选中表格最后10行数据行,若数据行不足10则选中所有数据行,新增行后运行会自动更新选中范围:

Sub SelectLast10TableRows()
    Dim tblBAZA As ListObject
    Dim totalDataRows As Long
    Dim startRow As Long
    Dim targetRange As Range
    
    ' 定位目标表格
    Set tblBAZA = Sheets("BAZA").ListObjects("BAZA")
    
    ' 获取表格数据行总数(不含表头)
    totalDataRows = tblBAZA.ListRows.Count
    
    ' 计算选中起始行:数据行≥10则从倒数第10行开始,否则从第1行开始
    startRow = IIf(totalDataRows >= 10, totalDataRows - 9, 1)
    
    ' 定位并扩展目标范围
    Set targetRange = tblBAZA.ListRows(startRow).Range
    Set targetRange = targetRange.Resize(totalDataRows - startRow + 1)
    
    ' 选中目标范围
    targetRange.Select
End Sub

代码说明

  • tblBAZA.ListRows.Count 直接获取表格有效数据行数量,比通过列范围计数更准确(列范围包含表头)
  • 用IIf函数处理边界场景,避免出现无效的起始行号
  • 通过ListRows(startRow).Range定位起始行,再用Resize扩展至最后一行,确保选中连续的目标行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:32:35