2016-10-16 8 views
-1

vbaを使用してセルに数式を挿入しようとしています。この式には、activecell.rowの範囲または動的参照への参照が必要です。VBAを使用して数式をセルに挿入しますか?

私は、次のVBAコードを使用しています:

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

私は定義されたアプリケーションまたはオブジェクト定義のエラーを取得します。誰かが私がどこに間違っているのかを教えてもらえますか?前もって感謝します。

答えて

-1

私は問題が二重引用符であると思います。あなたは持っている:

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

それがされるべきである:

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

覚えておいてください:で囲まれた文字列では - " - 文字、文字列内の同じ文字の任意の外観は倍にしなければならない

これはチェックしませんでしたが、これはエラーです(おそらくエラーではないと思われます)。

+0

感謝を簡素化するためにR1C1表記とCountA()を使用すると思います。 –

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

を試してみて、私は私が同じエラーを取得し、まだこの提案を試みたが、少し

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

@ M.Doe、あなたはそれを通過しましたか? – user3598756

+0

@ M.Doe、あなたを助けようとしている人々に適切なフィードバックを与えてくれてうれしいです。ありがとうございました – user3598756

関連する問題