|
返信遅くなりました。
.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
>>> がありこのようにレコードが数十行あります。
>>>
>>>隣の項目に付加価値(=売上高ー材料原価)を売上高の列に数字があるだけ
>>>マクロで計算させたいのです。つまり売上高、材料原価が空欄になるまで
>>>計算をさせたいのです。ただし、列数は変わりませんが毎回レコード数は変動します。
>>>何か良い案がありましたらご指導お願いいたします。
>>>
>>>
>>>
|
|