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

Excel宏Run-time error 1004:单元格公式赋值时出错求助

Excel VBA Run-time Error 1004 解决方法

你遇到的Run-time error 1004,核心原因及修复方案如下:

问题根源

代码中Cells对象未明确指定所属工作表,当当前活动表不是Lista Sc时,Cells会默认指向活动表,导致Range引用跨表不匹配,触发对象定义错误。此外原代码缺失End With语句,也会引发语法问题。

修复后的代码

Worksheets("Lista Sc").Select
With Sheets("Lista Sc")
    ' 给Cells添加前缀,明确归属当前With块的工作表
    .Range(.Cells(riga, 3), .Cells(riga + n, 3)).MergeCells = True
    .Range(.Cells(riga, 5), .Cells(riga + n, 5)).MergeCells = True
    .Range(.Cells(riga, 21), .Cells(riga + n, 21)).MergeCells = True
    
    s = "=SOMMA(S" & CStr(riga) & ";T" & CStr(riga + 1) & ":T" & CStr(riga + n) & ")-L" & CStr(riga)
    .Cells(riga, 21).FormulaLocal = s
End With ' 补充缺失的End With

额外检查要点

  • 确认变量riga和n是有效正整数,且riga + n不超过工作表最大行数(避免引用无效单元格)
  • 公式中的分号;是欧洲版Excel的参数分隔符,搭配FormulaLocal使用是正确的,无需修改
  • 合并单元格后赋值公式时,确保目标单元格是合并区域的左上角(你的代码中.Cells(riga,21)符合要求)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:01:35