You need to enable JavaScript to run this app. Excel VBA按IF条件更新单元格时报运行时错误1004如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA按IF条件更新单元格时报运行时错误1004如何解决

报错原因

  • 偏移参数非法:d是G列(第7列)的单元格对象,d.Offset(0, -7)表示向左偏移7列,会定位到Excel不存在的第0列,直接触发1004报错。你需要匹配的AA列位于G列右侧20列,偏移参数应写为Offset(0, 20)。
  • 模糊匹配语法错误:VBA中判断文本是否包含指定内容,不能使用=搭配通配符的写法,需要使用Like运算符,正确判断逻辑为值 Like "*Closed*"。

修正后的代码段

''问题段修正后代码''
Set rngVis2 = ws.Range("G2:G" & LR).SpecialCells(xlCellTypeVisible)
For Each d In rngVis2.Cells
    If d.Value = True And d.EntireRow.Columns("AA").Value Like "*Closed*" Then
        d.EntireRow.Columns("AA").Value = "Closed - Duplicate"
    End If
Next d

优化说明:直接使用d.EntireRow.Columns("AA")定位目标列,不需要手动计算偏移量,可避免列序调整后偏移参数失效的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 09:24:02