使用VBA将公式插入单元格?

时间:2016-10-16 11:55:09

标签: excel vba

我正在尝试使用vba将公式插入到单元格中。此公式需要引用activecell.row范围或动态引用。

我使用以下vba代码:

read :false

我得到了应用程序定义或对象定义错误。请有人告诉我我哪里出错了?提前谢谢。

3 个答案:

答案 0 :(得分:1)

假设你想要的是这个公式:

=IF(OR(G1<>"",H1<>"",I1<>"",J1<>"",M1<>""),TODAY(),"")

试试这个

Range("P" & ActiveCell.Row).Formula = "=IF(OR(G" & ActiveCell.Row & "<>"""",H" & ActiveCell.Row & "<>"""",I" & ActiveCell.Row & "<>"""",J" & ActiveCell.Row & "<>"""",M" & ActiveCell.Row & "<>""""),TODAY(),"""")"

答案 1 :(得分:1)

我使用R1C1表示法和CountA()来简化一下

Range("P" & ActiveCell.row).FormulaR1C1 = "=if(counta(RC7:RC10,RC13)>0,Today(),"""")"

答案 2 :(得分:-1)

我认为问题在于双引号。你有:

...).Formula = "=IF(OR(G & ActiveCell.Row <>"",""H"" & ActiveCell..."

虽然它应该是:

...).Formula = "=IF(OR(G & ActiveCell.Row <>"""",""""H"""" & ActiveCell..."

请记住:在 - “ - 字符括号内的字符串中,字符串中相同字符的任何外观都必须加倍。

虽然没有检查,但我确定这是一个错误(也许不是错误)。