• ベストアンサー

VBAでDATEDIF関数の埋め込み

VBAでエクセル関数のDATEDIF関数でJ3から始まりその列の最後に入力された次の空白セルに関数を埋め込みたいのですがうまくいきません、どなたか教えてください。 現在の式は Range("J"&NewDataRow)、Value=,=IF(DATEDIF(E3,Today(),"Y")>80,"大型中止",OK)ですがE3の結果が出ます、列には途中違う計算式も入っていくことになるので入力した行の計算結果がほしいのです。よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

こんにちは。 ご提示のExcel数式は、そちらの望み通りに書けているものとして、 =IF(DATEDIF(E3,TODAY(),"Y")>80,"大型中止","OK") この数式を行のみ相対参照で列は絶対参照でしていしたい、ということだとすると、 VBAでは、 NewDataRow = Cells(Rows.Count, "J").End(xlUp).Row + 1 Range("J" & NewDataRow).FormulaR1C1Local = "=IF(DATEDIF(RC5,TODAY(),""Y"")>80,""大型中止"",""OK"")" のように設定します。

nebikitorikai
質問者

お礼

早速のご回答有難うございました、順調に動作しています。感謝です