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

VBA代码获取表格最后一行报错:Worksheet对象的Range方法执行失败

错误原因与修复方案

核心问题

你代码里的这一行是错误根源:

LastRow = .Range("F6:F" & LastRow).End(xlUp).Row + 1

执行这行时LastRow还未被赋值,属于未初始化的变量,拼接后生成的Range地址是F6:F,这是无效的单元格引用,直接触发了"Method range of object worksheet failed"错误。

修复步骤

要正确获取F列的最后一行,应该从工作表F列的最底部单元格开始向上查找,替换成以下写法:

修正后的完整代码片段

With Rep
    .Unprotect ("000")
    ' 先获取F列最后一个非空行的行号
    LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row + 1
    .Range("$C$6:$Z$6").AutoFilter
    .Protect Password:="0000"

    Me.CbInvStore.Value = .Cells(LastRow - fw2, "C") 'inv_store
    Me.Lbl_typ.Caption = .Cells(LastRow - fw2, "E").Value 
    Me.TbInvNo.Value = Format(.Cells(LastRow - fw2, "F").Value, "00000")
End With

额外注意点

  • 确保fw2变量已经被正确赋值,否则后续引用LastRow - fw2可能会出现行号越界的错误。
  • 工作表解锁密码是"000",锁定密码是"0000",如果这是笔误请自行修正。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:02:07