我正在编写一个将公式插入单元格的宏。
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,应用程序定义或对象定义的错误。 有人可以帮我解决这个问题吗?
答案 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]
并让生活更轻松。