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

VBA运行时错误'424'(对象要求)修复方案咨询

修复VBA运行时错误'424'(对象要求)

错误原因分析

你的代码存在三个核心问题触发报错:

  • LastRowTwo未赋值,默认值为0,导致生成B2:B0这种无效单元格范围
  • TargetRange声明为Variant,直接赋值会变成单元格值数组而非Range对象,With语句要求操作对象类型变量
  • 公式字符串的引号语法错误,末尾多了一个多余的双引号

修复后的代码

Dim LastRowTwo As Long, TargetRange As Range, ws As Worksheet

Set ws = Sheets("Reconciliation")

' 获取A列最后一行有数据的行号(也可根据实际需求改为B列)
LastRowTwo = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 用Set关键字将Range对象赋值给TargetRange
Set TargetRange = ws.Range("B2:B" & LastRowTwo)

With TargetRange
    ' 修正公式的引号错误
    .Formula = "=IFERROR(VLOOKUP(A2, 'ATP Final'!$G:$G, 1, FALSE), ""N/A"")"
    .Value = .Value
End With

关键修复点说明

  • 给LastRowTwo赋值:通过End(xlUp)定位到列中最后一行数据,确保生成有效的单元格范围
  • 修正TargetRange的声明与赋值:改为Range类型,VBA中对象类型变量必须用Set关键字完成赋值
  • 修正公式引号:删除原公式末尾多余的双引号,保证公式语法合法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:55:20