VBA:R1C1表示法未被Range.FormulaArray

时间:2018-03-16 16:01:25

标签: excel-vba excel-formula match excel-r1c1-notation vba

我正在尝试将下面的公式放入一个列中。删除RC [-1]后,该公式有效,但我收到了包含它的对象定义错误。无论如何我可以使用公式数组来同时使用r1c1和a1引用吗?

返回对象定义错误的公式赋值:

.Range(columnReference).FormulaArray "=MATCH(RC[" & tokyoDigitRC & "] &" & Chr(34) & keyfigure & Chr(34) & "&" & Chr(34) & salesOrg & Chr(34) & "," & tokyoDigitRNG & "&" & keyfigureRNG & "&" & salesOrgRNG & ",0)"

RNG变量的格式相同,例如“CPL_REFERENCE_DATA!$ C $ 15:$ C $ 120”

作业的右侧返回什么。

=MATCH(RC[-1] &"NET SALES"&"RU10",CPL_REFERENCE_DATA!$C$15:$C$1207&CPL_REFERENCE_DATA!$D$15:$D$1207&CPL_REFERENCE_DATA!$B$15:$B$1207,0)

一旦我删除RC [-1]并且替换是一个单元格,它返回正确的值。

PS:我知道我可以遍历列并用RC替换RC [-1],但是有大量数据而且需要进程太长。

1 个答案:

答案 0 :(得分:1)

您不能混合R1C1和A1表示法。你必须做一个或另一个。

所以改变你的参考文献:

  

CPL_REFERENCE_DATA!$C$15:$C$120

到R1C1风格:

CPL_REFERENCE_DATA!R15C3:R120C3

没有[],引用相对于页面而言是绝对的。