| 
    
     |  | 返信遅くなりました。 
 .Offset(1).Select
 .Formula = "=RC[-2]-RC[-1]"
 の前の"With ActiveCell"でActiveCellを省略しています。
 何度も同じコマンドを使う時、With〜で省略できるそうです。
 その場合、"end with"を最後に入れます。
 
 ▼takenoko さん:
 >ご解答ありがとうございました。
 >参考にさせていただきうまく機能いたしました。
 >今回のことで質問なのですが
 >With ActiveCell
 > .Offset(1).Select
 > .Formula = "=RC[-2]-RC[-1]"
 >のところでなぜピリオドから始まっているのでしょうか?
 >あまり知識がないもので非常に不思議に思っているのですが
 >もしお時間がありましたらご指導お願い致します。
 >
 >
 >▼初心者 さん:
 >>こんばんわ。こんなのでどうでしょう??
 >>
 >>Sub TEST()
 >>  Cells(2, 3).Select
 >>  ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
 >>
 >>  Do Until ActiveCell.Offset(, -1).Value = ""
 >>
 >>  With ActiveCell
 >> .Offset(1).Select
 >>  .Formula = "=RC[-2]-RC[-1]"
 >>
 >>  End With
 >> Loop
 >>
 >>End Sub
 >>
 >>
 >>▼takenoko さん:
 >>>このページを見つけ、凄い方々がいらっしゃるのだと驚きました。
 >>>私の質問を聞いていただけたら幸いです。
 >>>次のように列項目
 >>>売上高 材料原価 付加価値
 >>>10000  2000
 >>>20000  2500
 >>>30000  3000
 >>>40000  3000
 >>>              がありこのようにレコードが数十行あります。
 >>>
 >>>隣の項目に付加価値(=売上高ー材料原価)を売上高の列に数字があるだけ
 >>>マクロで計算させたいのです。つまり売上高、材料原価が空欄になるまで
 >>>計算をさせたいのです。ただし、列数は変わりませんが毎回レコード数は変動します。
 >>>何か良い案がありましたらご指導お願いいたします。
 >>>
 >>>
 >>>
 
 
 |  |