Excel VBA質問箱 IV

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

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


68676 / 76734 ←次へ | 前へ→

【12590】セル内容の比較
質問  みぃこ E-MAIL  - 04/4/8(木) 12:13 -

引用なし
パスワード
   こんにちわ。またお知恵を拝借いたしたく、投稿いたしました。
また集計表を作っているのですが、各月の明細が完成した後、年間集計表に値を写そうとしています。品目が必ずしも毎回同じではないので、明細と年間集計表の品目を比較して、年間集計表にないものがあれば足していくようにしたいと思っています。

どちらのシートも品目はA列で、明細のE列を年間集計表の各月欄(B〜M列)に、H列の値を年間集計表のN列に累計として足していきたいと思っています。
取りあえず、こんなコードを書いてみました。

 x = Month(DateAdd("m", -1, Now))
 If x = 4 Then
    Sheets(Monthname(x)).Range("A4:A42").Copy (Sheets("年間").Range("A2:A40"))
    Sheets(Monthname(x)).Range("E4:E42").Copy (Sheets("年間").Range("B2:B40"))
    
 Else
 For i = 0 To 38
   Set B = Sheets("年間").Range("A2:A40").Find("")
   Set r1 = Sheets.Monthname(x).Columns("A").ColumnDifferences(Sheets("年間").Cells(2 + i, 1))
     r1.Select
     r1.Copy (B)
 Next i
 
 Sheets("年間").Range("A2:O46").Sort key1:=Sheets("年間").Range("A2:A46"), order1:=xlAscending
  
 j = IIf(x >= 4, x - 2, x + 10)
 For i = 0 To 45
   Sheets("年間").Cells(2 + i, j) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1), Sheets(Monthname(x)).Range("A4:I42"), 5, False)
   Sheets("年間").Cells(2 + i, 17) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1),Sheets(Montname(x).Range("A4:I42"), 8, False)
   Sheets("年間").Cells(2 + i, 14) = Sheets("年間").Cells(2 + i, 14).Value + Sheets("年間").Cells(2 + i, 17).Value
 Next i
 
 Sheets("年間").Range("Q2:Q45").ClearContents
 
End If


一応、年間集計表にない品目は追加されて出てきましたが、元々ある品目についてもダブって出てきてしまいます。どうしたら集計票にない品目だけが追加されるのでしょうか。
ぜひ、ご教授ください。よろしくお願いいたします。
0 hits

【12590】セル内容の比較 みぃこ 04/4/8(木) 12:13 質問
【12594】Re:セル内容の比較 Jaka 04/4/8(木) 17:08 発言
【12606】Re:セル内容の比較 みぃこ 04/4/9(金) 10:20 発言

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