- ベストアンサー
セル間の差を求めるマクロ
を作っていて思うようにいかなかったため 教えてください。 エクセルデータが データ1、データ2、データ3 時間、 2、 3、 5 時間、 4、 5、 8 というようにならんでおり 温度3の右の下セルに温度1と温度2の差を 求めた後オートフィルにてその時間毎の差を だしたいと思っております。 縦のセルは対象ファイル毎に違うため データ名のセルアドレス場所を検索し G1だと1を2に書き換えて差を求めるマクロ を相対参照を使って作成したのですが、 マクロを作成時の相対参照になってしまい 検索対象のセルをえらんでくれません。 どうすればよいでしょうか? 以上すみませんが、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 まず、「マクロの記録」に関して、間違った設定になっているようですが、相対参照にはしないでください。マクロの記録のツールボタンの格子状の四角を押すと、[絶対参照]に替わります。相対参照方式は、他者には理解できないものです。 >温度3の右の下セルに温度1と温度2の差を 質問には、温度はありませんね。データは、なるべく実際に近いほうが分かりやすいのです。 以下のようなことでしょうか? A B C D E 1 温度1 温度2 温度3 2 時間 2 3 5 =B2-C2 ←この式を下にコピー 3 時間 4 5 8 ・ >温度3の右の下セルに温度1と温度2の差を >求めた後オートフィルにてその時間毎の差を >だしたいと思っております。 ActiveCell.FormulaR1C1 = "=RC[-4]-RC[-3]" この式をみると、上記の表では、同じ時間で差し引きしているようです。 >縦のセルは対象ファイル毎に違うため >データ名のセルアドレス場所を検索し 言葉で、今、されていることを説明していただけませんか? 例えば、上記の場合は、 最初に、[温度1から温度2 を引くことを決める] (この場合、検索のスタイルではなく、引く側の列と引かれる側の列で決めるという方式のほうがよいと思います。) 次に、E2に、=B2-C2 という式を入れて、それをオートフィルで同じ式を下にコピーする というようにします。 これは、ある程度、「記録マクロ」でも可能です。しかし、相対参照方式では、読み手は理解できません。 回答者は、質問者のご相談には乗っても、最終的には、ご質問者さん自身が完成させなくてはなりません。今の段階ですと、非常に初歩的な部分でつまずいているような気がします。いくつかの問題は、ご自身が、適当な書籍で確認すれば、数日で解決する、ということだけは申すことかできます。
その他の回答 (1)
- NCU
- ベストアンサー率10% (32/318)
サンプルの作成依頼などは、質問者のスキルアップの芽を摘んでしまうことになります。 現在のコードをご提示の上、具体的なポイントに絞ってご質問下さい。
補足
すみません Sub aaa() ' ' aaa Macro ' マクロ記録日 : 2006/8/21 ユーザー名 : ※※ ' ' ActiveCell.Select ActiveCell.FormulaR1C1 = "=RC[-4]-RC[-3]" ActiveCell.Offset(1, 0).Range("A1").Select End Sub というマクロです。 検索でabcというセルを検索したのですが 検索が記録されていませんでした どうすれば記録されますでしょうか? 以上すみませんがよろしくお願いいたします。