我正在尝试使用vba将公式插入到单元格中。此公式需要引用activecell.row范围或动态引用。
我使用以下vba代码:
read :false
我得到了应用程序定义或对象定义错误。请有人告诉我我哪里出错了?提前谢谢。
答案 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..."
请记住:在 - “ - 字符括号内的字符串中,字符串中相同字符的任何外观都必须加倍。
虽然没有检查,但我确定这是一个错误(也许不是错误)。