【发布时间】:2015-01-25 04:14:49
【问题描述】:
我无法让这个公式接受变量作为 R1C1 公式中的行。
ActiveCell.FormulaR1C1 = _
"=+IF(TipoLinea(NomeFoglioCorrente2(),""Grafico 2"",1,1)=""Esponenziale"",(R" & NumeroRighe + 13 & "C9*EXP(R" & NumeroRighe + 13 & "C10*RC8))," & Chr(10) & "IF(TipoLinea(NomeFoglioCorrente2(),""Grafico 2"",1,1)=""Logaritmica"",(R" & NumeroRighe + 13 & "C9*LN(RC8)+R" & NumeroRighe + 13 & "C10)," & Chr(10) & "IF(TipoLinea(NomeFoglioCorrente2(),""Grafico 2"",1,1)=""Lineare"",(R" & NumeroRighe + 13 & "C9*RC8+R" & NumeroRighe + 13 & "C10)," & Chr(10) & "IF(TipoLinea(NomeFoglioCorrente2(),""Grafico 2"",1,1)=""Potenza"",(R" & NumeroRighe + 13 & "C9*(RC8^(R" & NumeroRighe + 13 & "C10)" & _
"rore""))))"
TipoLinea() 和 NomeFoglioCorrente2() 是自定义函数。
NumeroRighe + 13 在我的测试中等于 313,但对于其他单元格,这会发生变化。
【问题讨论】:
-
您目前正在获得什么价值或问题,实际上应该是什么?
-
你遇到了什么错误?
-
VBA 中的一行字符串的长度是有限制的,您需要找到缩短公式字符串的方法。例如,您可以将它的块分配给几个单独的变量并使用
.FormulaR1C1 = Part1 & Part2 & Part3 -
可能还有其他东西,但我相信最后一行
"rore""))))"应该是", ""rore""))))"。