Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


32619 / 76734 ←次へ | 前へ→

【49350】Re:一部更新しないマクロをつくりたい
発言  かつこ  - 07/5/31(木) 21:25 -

引用なし
パスワード
   ▼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
は元のデータを変更しても
変えたくないのです。

よろしくおねがいいたします。

5 hits

【49303】一部更新しないマクロをつくりたい かつこ 07/5/30(水) 20:29 質問
【49321】Re:一部更新しないマクロをつくりたい Jaka 07/5/31(木) 11:22 発言
【49350】Re:一部更新しないマクロをつくりたい かつこ 07/5/31(木) 21:25 発言
【49354】Re:一部更新しないマクロをつくりたい Jaka 07/6/1(金) 13:53 発言
【49360】Re:一部更新しないマクロをつくりたい かつこ 07/6/1(金) 23:37 発言
【49363】Re:一部更新しないマクロをつくりたい かつこ 07/6/2(土) 0:37 発言
【49405】Re:一部更新しないマクロをつくりたい Jaka 07/6/4(月) 13:23 発言
【49429】Re:一部更新しないマクロをつくりたい かつこ 07/6/4(月) 23:41 発言
【49452】Re:一部更新しないマクロをつくりたい Jaka 07/6/5(火) 14:50 発言
【49466】Re:一部更新しないマクロをつくりたい かつこ 07/6/5(火) 22:05 お礼

32619 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free