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

Excel VBA实现SUM公式自动下移行出现类型不匹配错误如何解决

运行时错误13类型不匹配修复方案

错误原因

你从单元格读取的Formula属性自带开头的等号=,但你定义的匹配前缀S = "SUM(B"没有包含这个等号,两层Replace执行完成后得到的字符串会残留开头的=,无法转换为整数,因此触发类型不匹配报错。

修复后的完整代码

Sub formulaupdate()
    Dim R As Range, S As String, T As String, I As Integer, f As String
    Set R = Range("B34")
    ' 匹配前缀加等号,和单元格实际公式结构对应
    S = "=SUM(B"
    T = ":B33)+SUM(C3:C33)"
    f = R.Formula
    ' 替换后可以正常提取到起始行号,再做类型转换
    I = CInt(Replace(Replace(f, S, ""), T, "")) + 1
    ' 公式赋值用&做字符串拼接,避免+的歧义
    R.Formula = S & I & T
End Sub

效果验证

运行后B34单元格的公式会自动将SUM的B列起始行向下移动1行,符合日报每日更新的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:18:02