|
こんにちは。
Jakaさん、横からごめんにゃ!
>>for i = 1 to A列最後のセル行番号
>> if cells(i,"A").value Like "*合計" Then
>> cells(i,"A").offset(1,1).value = cells(i,"A").value
>> End If
>>next
>
>私の説明が悪かったようですいません。
>上のコードのようにoffset(1,1)では右斜め下のセルにコピーされて
>しまうのですが・・・。
>私がしたいのは、すぐ下の行のセルにコピーしたい
>のです。
>しかしoffset(1,0)にしてしまうと、
>
>1HPS 合計
>2HPS 合計
>3HPS 合計
>4HPS 合計
>5 ・
>6 ・
>7 ・
>
>このように同じ内容がA列にすべてコピーされてしまいます。
>これを防ぐにはどうしたらよいのでしょうか?
1行目に、「合計」があったら、2行目にコピーされますよね?
で、2行目を見に行って当然「合計」がある状態だから、3行目にコピーされますよね?
上から見ていったら、これを延々と繰り返してしまいます。
なので、こういう場合は下から見ていくのがええかと思います。
Dim lngLast As Long
Dim i As Long
lngLast = Range("a65536").End(xlUp).Row
For i = lngLast + 1 To 2 Step -1
処理処理
Next
こういう形です。
Jakaさん、これでOKですよね!?
|
|