• ベストアンサー

エクセルのマクロの自動記録で、セルに式を入力すると・・・・

1.マクロの自動記録で、セルに式を入力すると、 仮にセルA1に =(D1+E1)/F1 と入れると、 ActiveCell.FormulaR1C1 = "=(RC[3]+RC[4])/RC[5]" というようにR1C1形式になってしまいます。 他の場合は通常のA1とかE4とかの形式で記録されるのにどうしてでしょうか? 2.これを ActiveCell.Formula = "=(D1+E1)/F1" のような形式で記録させる方法はないのでしょうか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 1. どうしてかははっきり分かりませんが。 R1C1形式で書いてあれば、仮に、A2をクリックして実行した時、ちゃんと、 「=(D2+E2)/F2」 になってくれますが、A1形式だと、そのまま 「=(D1+E1)/F1」 が入ってしまいます。 相対参照にするためではないでしょうか。 もっとも絶対参照で入れても、やはりR1C1形式になるので、統一して、常にR1C1形式で書くようにしているんでしょうね。 2. 自動記録の書式を変える必然性は特にないと思いますが。 自動記録を元にカスタマイズするなら、自分で書き直せばいいことですし。

AQUALINE
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

私がやって見たら Sub test01() Cells(3, 2).Formula = "=a1*a2" End Sub を実行すると、B3の式が=A1*A2になりました。 2000です。 ツール-オプション-全般-R1C1参照形式を利用する と関係ないと思いますが。

AQUALINE
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。
  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.1

  >ActiveCell.Formula = "=(D1+E1)/F1" のような形式で記録させる方法はないのでしょうか? 無いと思いますよ。 以前、私も同じようなことを考えましたがダメでした。 少し期待を抱かせる設定が、Excelのオプションの全般タブにあります。R1C1形式を参照する、というものです。 でも、これはマクロの自動記録の上ではまったく関係ないです。そういう仕様なのだと思いますよ。 自動記録はダメなので、あとはVBエディタ(ツール > マクロ > VisualBasicEditor)を開いて、自分で直すしかないのでは?

AQUALINE
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A