• ベストアンサー

エクセル マクロ 数式を入れたい!!

超初心者です。よろしくお願いします。 A1に時間が入っており、B1にA1の6時間前(=A1+1-"06:00")の時間を入れたいです。日付は無視しており、アクティブセルはC1です。 時間ではなく、数式(=A1+1-"06:00")をそのままB1に入れたいのですがこのようになってしまいました。 ActiveCell.Offset(0, -1) = "=ActiveCell.Offset(0, -2)+1-"06:00"" 文字が赤くなってエラーになってしまうのですが、どこを訂正するべきでしょうか。

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

  • ベストアンサー
  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.2

No1です。 そういうことなら ActiveCell.Offset(, -1).FormulaR1C1 = "=RC[-1]+1-""06:00""" では?

c7_d30ea200
質問者

お礼

回答ありがとうございます。R1C1の使い方にあまり慣れていないのですが、できたのでこれでやってみようと思います!

その他の回答 (1)

  • emaxemax
  • ベストアンサー率35% (44/124)
回答No.1

アクティブセルがどこであろうと、アクティブシートのB1にその式をいれたいなら Range("B1").Formula = "=A1+1-""06:00""" ではないでしょうか。

c7_d30ea200
質問者

お礼

回答ありがとうございます。アクティブセルの左側(B1)に回答を入れたいです。なのでC2がアクティブのときはB2に数式を入れたいです。 A列   B列        C列   23:00  =A1+1-"06:00" ← アクティブセルのとき 22:00  =A2+1-"06:00" ← アクティブセルのとき 21:00  =A3+1-"06:00" ← アクティブセルのとき という感じに入れたいです。

関連するQ&A