Excel VBA FormulaR1C1错误1004

时间:2017-07-14 07:36:22

标签: excel vba excel-vba

我正在编写一个将公式插入单元格的宏。     ActiveCell.FormulaR1C1 = "=IFERROR(((R[0]C[-2]*R[0]C[-3])+(R[0]C[-5]*R[0]C[-6]))/(R[0]C[-3]*IF(R[0]C[-6]=0,1,R[0]C[-6]),)"

如果条件等于0,我希望它能使最后一个术语IF(R[0]C[-6]=0,1,R[0]C[-6]),)等于1。

当我运行代码时,会出现错误1004,应用程序定义或对象定义的错误。 有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

尝试使用
ActiveCell.FormulaR1C1 = "=IFERROR((RC[-2]*RC[-3])+RC[-5]*RC[-6])/RC[-3]*IF(RC[-6]=0,1,RC[-6]),"""")"

我用你的公式可以看到的问题是,你有6个左括号,只有5个关闭,你没有输入任何逗号后的内容。
您也可以将R[0]写为R,意思是此行

答案 1 :(得分:0)

你的括号不好。试试这个:

=IFERROR(((RC[-2]*RC[-3])+(RC[-5]*RC[-6]))/(RC[-3]*IF(RC[-6]=0,1,RC[-6])),)
'                                                                      ^^^

同时放下无用的[0]并让生活更轻松。