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

Excel VBA问题:将Sheet1两数值相加输出至Sheet2,代码运行失败

问题解决:VBA实现跨工作表数值相加并赋值

错误原因

你写的代码里用了.Formula属性,这个属性是用来读取/设置单元格的公式文本,而不是单元格的实际数值。比如如果Part2a的K3单元格是公式=SUM(A1:A2),.Formula得到的就是这个字符串,把两个字符串相加自然会运行失败。

正确代码写法

写法1:直接赋值计算后的固定数值

这种方式会把当前K3和K4的数值相加后,把结果作为固定值写入L7,后续K3/K4变化时L7不会自动更新,需要重新运行宏:

Sub mycode5()
    Dim num1 As Double, num2 As Double
    ' 获取Part2a工作表中K3、K4的数值
    num1 = Worksheets("Part2a").Range("K3").Value
    num2 = Worksheets("Part2a").Range("K4").Value
    ' 将相加结果写入Part4的L7单元格
    Worksheets("Part4").Range("L7").Value = num1 + num2
End Sub

写法2:设置Excel公式实现自动联动

这种方式给L7单元格设置Excel公式,后续Part2a的K3/K4数值变化时,L7会自动更新结果,更符合Excel的使用逻辑:

Sub mycode5()
    ' 因为代码写在Part4工作表中,可以用Me代表当前工作表,简化代码
    Me.Range("L7").Formula = "=Part2a!K3 + Part2a!K4"
End Sub

如果不想用Me,也可以写全称:

Sub mycode5()
    Worksheets("Part4").Range("L7").Formula = "=Part2a!K3 + Part2a!K4"
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:33:11