【发布时间】:2017-04-24 13:40:51
【问题描述】:
使用 Excel VBA 时,我在尝试选项 1 和选项 2 时收到语法错误消息。
如何正确设置范围,以便可以在选项 1 中使用我的公式?
对于选项 2,为什么我不能像在普通 excel 公式中那样引用范围?
这是因为我想将此公式应用于此单元格下方的许多行。我使用 for 循环吗?
默认代码是正确的。
'Default
Range("I2").Formula = "=+SUMIFS(R2C2:R434C2,R2C1:R434C1,RC[-1],R2C3:R434C3,""G"")"
'Option 1
Dim MyRange As Range
Set MyRange = Range("B2:B434")
Range("I2").Formula = _
"=+SUMIFS(" & MyRange & ",R2C1:R434C1,RC[-1],R2C3:R434C3,""G"")"
'Option 2
Range("I2").Formula = _
"=+SUMIFS($B$2:$b$434,R2C1:R434C1,RC[-1],R2C3:R434C3,""G"")"
【问题讨论】:
-
@user3598756 的回答显示了要使用的正确语法。 (请注意,选项 2 与您的默认选项相同,但正确使用
FormulaR1C1属性而不是强制 Excel 故障转移到它。)您的选项 2 不起作用(我认为)因为您试图混合引用方法在一个公式中。