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

VBA中SUMPRODUCT的R1C1公式用变量做偏移量报1004错误如何解决

错误原因

你将v_LastRow变量直接写在了双引号包裹的公式字符串内,VBA不会对引号内的内容做变量解析,最终传入Excel的公式里会直接出现R[-v_LastRow]这种非法语法,因此触发1004运行时错误。

解决方法

需要把变量从字符串中拆分出来,用VBA的字符串拼接符&将公式字符串、变量值拼接成完整的合法公式即可,修改后代码如下:

ActiveCell.FormulaR1C1 = "=SUMPRODUCT((MONTH(R[-" & v_LastRow & "]C[-16]:R[-1]C[-16])=R[5]C[-15])*(R[-" & v_LastRow & "]C:R[-1]C))"

注意事项

使用前请确认v_LastRow为正整数,且数值小于当前单元格的行号,避免偏移后引用到行号小于1的非法单元格。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:18:01