|
▼Jaka さん:
お返事ありがとうございます。
言葉足らずで申し訳ありません。
>>もしBOOK1の4月が100→150にかわったら
>>私の書いたコードでは
>>転記.xlsのBOOK1の4月は150になります。
>
>この辺の意味合いがよく解りません。
>BOOK2の4月は書き換えてますけど...。
私のコードでは書き換わってしまうのです・・
書き換えたくないのです。
追加説明させていただきます。
元のデータは・・
4月 5月 6月
100 200 300
これはA1:C2までに入っています。この形式のファイルが
多くあります。
これを転記.xlsに転記します。
4月 5月 6月
100 200 300
となり、この下にほかのファイルのデータが転記されます。
ここまでは最初に書かせていただいたコードで動きました。
現在の月(今は5月)より前の月までの転記.xls
の数字は変更したくないということで
Jakaさんに教えていただいたコードで行ってみると
4月 5月 6月
200 300
と4月は空白になってしまいました。
なので、withの中を
一旦全部を転記させ、5月以降のデータを上書きする形に
変更してみました。
With thebook.Worksheets("データ")
For i = 1 To 3
ThisWorkbook.Worksheets("一覧").Cells(AROW + 1, 1 + i).Value = .Cells(1, i).Value
If Val(.Cells(1, i).Value) > 4 Then
ThisWorkbook.Worksheets("一覧").Cells(AROW + 1, 1 + i).Value = .Cells(1, i).Value
End If
Next i
End With
この結果は
4月 5月 6月
100 200 300
になります。
ここでこのコードのまま、6月のデータを300→350にしてみると
4月 5月 6月
100 200 350
になりました。
そして上のコードのままで
4月のデータを100→150にしてみると
4月 5月 6月
150 200 350
と書き換えられてしまいました。
一旦転記するというコードを書いてしまっているのが
原因だとは思うのですが・・
4月 5月 6月
100 200 350
にする方法を探しています。
もし6月になったら今度は5月分も数字を固定させたい。
4月 5月
100 200
は元のデータを変更しても
変えたくないのです。
よろしくおねがいいたします。
|
|